> > > 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. Regards, Kevin K.