Messages in this thread | | | Date | Wed, 7 May 2008 07:36:42 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: AIM7 40% regression with 2.6.26-rc1 |
| |
On Wed, 7 May 2008, Andi Kleen wrote: > > I am aware of that commit, thank you, but the comment was refering to that it > came with about zero justification why it was done. For the left over BKL > regions which are relatively short surely a spinlock would be better than a > semaphore? So PREEMPT_BKL should have been removed, not !PREEMPT_BKL.
I do agree.
I think turning the BKL into a semaphore was fine per se, but that was when semaphores were fast.
Considering the apparent AIM regressions, we really either need to revert the semaphore consolidation, or we need to fix the kernel lock. And by "fixing", I don't mean removing it - it will happen, but it almost certainly won't happen for 2.6.26.
The easiest approach would seem to just turn the BKL into a mutex instead, which should hopefully be about as optimized as the old semaphores.
But my preferred option would indeed be just turning it back into a spinlock - and screw latency and BKL preemption - and having the RT people who care deeply just work on removing the BKL in the long run.
Is BKL preemption worth it? Sounds very dubious. Sounds even more dubious when we now apparently have even more reason to aim for removing the BKL rather than trying to mess around with it.
Linus
| |