On Thu, Feb 14, 2002 at 11:20:30PM -0800, Jun Sun wrote: > On Fri, Feb 15, 2002 at 03:11:18AM +0100, Ralf Baechle wrote: > > On Thu, Feb 14, 2002 at 05:56:31PM -0800, Jun Sun wrote: > > > > > I have been chasing a FPU register corruption problem on a SMP box. The > > > curruption seems to be caused by FPU emulator code. Is that code SMP safe? > > > If not, what are the volunerable spots? > > > > > > Just thought I'd check before I dive into it .... > > > > In theory the fp emulation code should be MP safe as the full emulation > > is only accessing it's context in the fp register set of struct > > task_struct. The 32-bit kernel's fp register switching is entirely broken > > (read: close to non-existant). Lots of brownie points for somebody to > > backport that from the 64-bit kernel to the 32-bit kernel and forward > > port all the FPU emu bits to the 64-bit kernel ... > > > > Brownie sounds good. :-) So what is the "fp register switching" you are > referring to? There is set of code related to lazy fpu context switch, > which seems to be working fine now. > Hmm, I see. The lazy fpu context switch code is not SMP safe. I see fishy things like "last_task_used_math" etc... Jun