Whamcloud - gitweb
Create a per-fs lock for obdfilter block allocation. This is held only
authoradilger <adilger>
Thu, 20 Nov 2003 19:05:02 +0000 (19:05 +0000)
committeradilger <adilger>
Thu, 20 Nov 2003 19:05:02 +0000 (19:05 +0000)
commit921b335a93d6f3c795969e55d7500606928f83a1
treef6ffe8bf0ac74a46adb8bf34a0dc73f7a420d212
parent019b4db6f22a8465a61bc936926a6193711b1ba8
Create a per-fs lock for obdfilter block allocation.  This is held only
during actual block allocation and not during RPCs or writes.  This allows
us to allocate contiguous chunks of disk (if available) up to the size of
each RPC, instead of interleaving block allocations.

It slows down writes in the contention case, because we might be holding
the lock while waiting for a bitmap or something to be loaded from disk,
and in the current 2.4 IO code reads-behind-lots-of-writes can be punishing.
We might benefit here and elsewhere from AKPM's read priority patch.

The big benefit is that at read time, or after some amount of create-delete
we don't have a maximally fragmented block allocation to deal with, which
causes pathological seeking on the disks.

b=2260
r=peter,phil
lustre/obdfilter/filter_io_24.c