On Wed, Feb 20, 2002 at 02:50:23PM +0100, Ralf Baechle wrote: > These days I assume the difference to be greater for cache reasons. Our > stored fp registers take 256 bytes and also tend to be located at a constant > offset from start of the 8kB (64-bit: 16kB) aligned task_struct. Combined > with the usually low degree of cache associativity on MIPS that means > we'll frequently miss L1. Ouch. That cache miss is much more expensive than saving the FPU state. Can we un-align task_struct? I see it is allocated as a whole page, but it's apparently much smaller. We could add an offset to its start (hm, should be a multiple of the cache line size), and that ought to give much nicer L1 usage. Any other struct which is allocated as a whole page but is much smaller could be a candidate for this, too. But we should experiment once to see if it's a win before getting that excited. greg