[patch 0/3] j_state_lock, j_list_lock, remove-bitlocks

Ingo Molnar
2005-03-16T09:52:16Z

* Andrew Morton <akpm@osdl.org> wrote:

> > > Damn! The answer was right there in front of my eyes! Here's the
> > > cleanest solution. I forgot about wait_on_bit_lock. I've converted
> > > all the locks to use this instead. [...]
> >
> > ah, indeed, this looks really nifty. Andrew?
> >
>
> There's a little lock ranking diagram in jbd.h which tells us that
> these locks nest inside j_list_lock and j_state_lock. So I guess
> you'll need to turn those into semaphores.

indeed. I did this (see the three followup patches, against BK-curr),
and it builds/boots/works just fine on an ext3 box. Do we want to try
this in -mm?

one worry would be that while spinlocks are NOP on UP, semaphores are
not. OTOH, this could relax some of the preemptability constraints
within ext3 and could make it more hackable. These patches enabled the
removal of some of the lock-break code for example and could likely
solve some of the remaining ext3 latencies.

Ingo