On Fri, Nov 06, 1998 at 08:08:59PM +0100, Harald Koerfgen wrote:
> Please correct me if I'm wrong, but as far as I can see, the only way to
> implement this would be to hack restore_flags() and r*_resume() to restore
> CP0_STATUS without touching the interrupt mask. This will definitely add a few
> cycles and thus have a negative impact on performance. Yes, Ralf, the R4k
> code will
> be affected too to make the R4k DECstations happy.
It's actually useful on other platfroms as well, so go ahead. Aside, the
penalties which have to paid for restore_flags() on SMP are _much_ larger.
This is not a case like the recent other discussion about the mmu context
stuff. That changes implemented wrongly might have resulted in additional
loads which on certain machines might result in large penalties for the
additional loads. Loads from a process' thread structure have a very high
probability of resulting in a cache fail since they're allocated 8kb aligned.
Memory is so slow compared to primary caches or registers. The best thing
you can actually do for performance with memory is not touching it ;-)