Re: [PATCH 1/1] vfs: umount_begin BKL pushdown v2

Frédéric Weisbecker
2009-04-24T09:16:33Z

2009/4/24 Christoph Hellwig <hch@infradead.org>:
>> Furthermore, by doing this you are also hindering the
>> tip:kill-the-BKL effort (which has been ongoing for a year chipping
>> away at various BKL details) which facilitated these changes.
>> Alessio did these fixes to fix bugs he can trigger in that tree.
>>
>> You've also not explained why you have done it this way. It would
>> cost you almost nothing to apply these bits into a separate branch
>> and merge that branch into your main tree. Lots of other maintainer
>> are doing that.
>
> Having a separate kill the BKL tree is a stupid idea. Locking changes
> need deep subsystem knowledge and should always go through the subsystem
> trees.

I disagree with you. The kill-the-BKL tree does not only aggregate patches
to turn the BKL into more traditional locks. The Bkl has been
converted to a common mutex in
this tree, making it losing its common horrid properties:

- release/reacquire on schedule
- not preemptable
- can be reacquired recursively by a same task

Such a basis is very useful because we can easily find these places
which won't support a usual lock conversion without reworking the
locking scheme.
This is a necessary preliminary for the Bkl removal.
All the places which have been designed very tightly with Bkl
properties are rapidly detected
with lockdep in this tree and reworked, still using lockdep, code
reviewing and the help of
this Bkl-to-mutex conversion.

The work done with this tree can be merged inside and also on the
matching subsytem tree for
each patchset. That's a very sane workflow IMHO.

Thanks,
Frederic.