lkml.org 
[lkml]   [2006]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Sysenter crash with Nested Task Bit set
On Mon, Sep 18, 2006 at 05:29:23PM +0200, Andi Kleen wrote:
> > - asm volatile("pushl %%ebp\n\t" \
> > + asm volatile("pushfl\n\t" /* Save flags */ \
> > + "pushl %%ebp\n\t" \
>
> We used to do that pushfl/popfl some time ago, but Ben removed it because
> it was slow on P4. Ok, nobody thought of that case back then.

It's the pushfl that will be slow on any OoO CPU, as it has dependancies on
any previous instructions that modified the flags, which ends up bringing
all of the memory ordering dependancies into play. Doing a popfl to set the
flags to some known value is much less expensive.

-ben
--
"Time is of no importance, Mr. President, only life is important."
Don't Email: <dont@kvack.org>.
-
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/

\
 
 \ /
  Last update: 2006-09-18 18:15    [W:0.052 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site