> > > Strange indeed. And note that if the code were correct, your
> > > surmise about the init_fpu() path being "logically the correct"
> > > one would no longer be true - we'd be saving the FPU state of
> > > the current process for no good reason.
> > And note further that, by forcing current->used_math to
> > zero, the old code was in fact driving the signal handler
> > needlessly into the broken code...
> By not clearing current->used_math bit, you are in fact restoring an FPU
> context unnecessarily.
And by clearing it, you are destroying an FPU context unnecessarily.
I'll take the overhead, thanks! ;-) Seriously, if that optimization
is really that important, let's find some other mechanism for communicating
to do_cpu() the fact that we're doing a signal.