jbd2: Improve scalability by not taking j_state_lock in jbd2_journal_stop()
authorTheodore Ts'o <tytso@mit.edu>
Sun, 16 May 2010 09:00:00 +0000 (05:00 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 16 May 2010 09:00:00 +0000 (05:00 -0400)
commitc35a56a090eacefca07afeb994029b57d8dd8025
tree2a42c07c270b07725d9798bc89bc9aa0aaf2c184
parentc445e3e0a5c2804524dec6e55f66d63f6bc5bc3e
jbd2: Improve scalability by not taking j_state_lock in jbd2_journal_stop()

One of the most contended locks in the jbd2 layer is j_state_lock when
running dbench.  This is especially true if using the real-time kernel
with its "sleeping spinlocks" patch that replaces spinlocks with
priority inheriting mutexes --- but it also shows up on large SMP
benchmarks.

Thanks to John Stultz for pointing this out.

Reviewed by Mingming Cao and Jan Kara.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/jbd2/transaction.c