raid5: make_request use batch stripe release
authorShaohua Li <shli@kernel.org>
Wed, 1 Aug 2012 22:33:00 +0000 (08:33 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 1 Aug 2012 22:33:00 +0000 (08:33 +1000)
make_request() does stripe release for every stripe and the stripe usually has
count 1, which makes previous release_stripe() optimization not work. In my
test, this release_stripe() becomes the heaviest pleace to take
conf->device_lock after previous patches applied.

Below patch makes stripe release batch. All the stripes will be released in
unplug. The STRIPE_ON_UNPLUG_LIST bit is to protect concurrent access stripe
lru.

Signed-off-by: Shaohua Li <shli@fusionio.com>
Signed-off-by: NeilBrown <neilb@suse.de>

No differences found