Re: Intel P6 vs P7 system call performance

From: Mikael Pettersson (mikpe@csd.uu.se)
Date: Tue Dec 17 2002 - 12:37:21 EST


Richard B. Johnson writes:
> Actually I should be:
>
> pushl $next_address # Where to go when the call returns
> pushl $0xfffff000 # Put this on the stack
> ret # 'Return' to it (jump)
> next_address: # Were we end up after

You just killed that process' performance by causing the
return-stack branch prediction buffer to go out of sync.

It might have worked ok on a 486, but P6+ don't like it one bit.

This is also why I'm slightly unhappy about the
s/int $0x80/call <address of sysenter>/ approach, since it leads
to yet another recursion level and risk overflowing the RSB.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:17 EST