Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 4/7] ufs: remove the BKL | Date | Wed, 2 Mar 2011 16:08:31 +0100 |
| |
On Wednesday 02 March 2011, Nick Bowler wrote: > On 2011-03-02 00:13 +0100, Arnd Bergmann wrote: > > This introduces a new per-superblock mutex in UFS to replace > > the big kernel lock. I have been careful to avoid nested > > calls to lock_ufs and to get the lock order right with > > respect to other mutexes, in particular lock_super. > > > > I did not make any attempt to prove that the big kernel > > lock is not needed in a particular place in the code, > > which is very possible. > > > > The code is still only compile-tested, > > This isn't true anymore; I've been running with this patch (well, the > previous versions thereof) for some time now. On the other hand, I > don't use all of this driver's features.
I'll updated the comment. Can I add your Tested-by tag?
> > but it should at least be harmless on non-SMP systems, since the new > > mutex is not taken on those. > > I think this part of the patch is strange. It seems like a gratuitous > difference between SMP/preempt and other systems to #if out the code > that takes the mutex. This might make problems with the conversion fly > under the radar longer because people with older systems won't encounter > them.
I agree it is strange, but the mutex has some serious performance impact that I wanted to minimize on the systems where we know it is not needed. The BKL was only active on those systems, so we know that non-SMP non-preempt kernels don't need the mutex.
Arnd
| |