]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: split the CIL lock
authorDave Chinner <dchinner@redhat.com>
Mon, 12 Aug 2013 10:50:08 +0000 (20:50 +1000)
committerBen Myers <bpm@sgi.com>
Tue, 13 Aug 2013 21:21:21 +0000 (16:21 -0500)
commite30a85211a7bec02c9258ec92af1fc088470fc49
tree9bbc2d358dc02c3ff2d9a39cf91c9b485cba288d
parent833b11cb5e24d6ade42765476a05f5933fbf6a55
xfs: split the CIL lock

The xc_cil_lock is used for two purposes - to protect the CIL
itself, and to protect the push/commit state and lists. These are
two logically separate structures and operations, so can have their
own locks. This means that pushing on the CIL and the commit wait
ordering won't contend for a lock with other transactions that are
completing concurrently. As the CIL insertion is the hottest path
throught eh CIL, this is a big win.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_log_cil.c
fs/xfs/xfs_log_priv.h