Re: I request inclusion of reiser4 in the mainline kernel

Christoph Hellwig
2005-10-04T18:12:28Z

On Fri, Sep 30, 2005 at 04:10:09PM +0400, Vladimir V. Saveliev wrote:
> > Looking at the actual code all these point to the spin lock obsufcation
> > SPIN_LOCK_FUNCTIONS/RW_LOCK_FUNCTIONS from spin_macros.h which I told
> > to get rid of in the first round of reviews.
> > ...
>
> reiser4 spinlock macros provide following functionality:
>
> (1) encapsulation of locks: instead of writing spin_lock(&obj->lock),
> where obj is object of type foo, one writes spin_lock_foo(obj).
>
> (2) keeping information about number of locks of particular type currently
> held by thread
>
> (3) checking that locks are acquired in the proper order.
>
> (4) collection of spin lock contention statistics
>
>
> I agree that (1) is not very necessary. (2) and (4) helped a lot in early
> debugging. Now we are about to remove it.
>
> However, we would prefer to keep (3). It makes catching spinlock deadlocks very
> easy. Don't you think that makes sence?

(4) is provided by the lockmeter patch which is or has been in -mm.
(1) is not just unessecary but actually considered obsfucation
(2) and (3) sounds useful and it would be cool if you could integrate
them into the core spinlock code. I'd suggest to remove the feature
temporarily and reimplement it so further reiser4 progress isn't blocked
on that.