Re: [patch 2.6.13-rc3a] i386: inline restore_fpu

From: Linus Torvalds
Date: Sat Jul 23 2005 - 12:34:21 EST




On Sat, 23 Jul 2005, Chuck Ebbert wrote:
>
> Probably a very minor point, but shouldn't it be
>
> "m" ((tsk)->thread.i387.fxsave))
>
> because that's the largest possible operand that could end up being read?

Yes, I ended up fixing that already (along with handling the fxsave case
too).

> Is that function called __save_init_fpu because it saves and then
> initializes the fpu? Unlike fsave, fxsave does not init the fpu after
> it saves the state; to make the behavior match it should be "fxsave ; fninit"

The "init" part is really just "reset_exceptions" - we don't care about
the rest of the state, and the naming is historical (ie it's really called
"init" because "fnsave" does the reset by re-initializing everything, ie
there's an implied "fninit").

So for the fxsave path, we just use fnclex, since that's faster than a
full fninit.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/