Skip to content

j_state_lock, j_list_lock, remove-bitlocks

Ingo Molnar lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 26 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3j_state_lock -> j_state_semfs/ext3/super.c fs/jbd/checkpoint.c fs/jbd/commit.c +3 more+115 -1180 replies
2/3j_list_lock -> j_list_semfs/jbd/checkpoint.c fs/jbd/commit.c fs/jbd/journal.c +3 more+105 -1260 replies
3/3remove bitlocksfs/jbd/journal.c include/linux/jbd.h include/linux/spinlock.h+46 -790 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 0/3] j_state_lock, j_list_lock, remove-bitlocks
Quoted 10 lines · Andrew Morton
Quoted 6 lines
Quoted 3 lines

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