raid5: make_request does less prepare wait
authorShaohua Li <shli@kernel.org>
Wed, 9 Apr 2014 03:25:47 +0000 (11:25 +0800)
committerNeilBrown <neilb@suse.de>
Wed, 9 Apr 2014 04:42:38 +0000 (14:42 +1000)
In NUMA machine, prepare_to_wait/finish_wait in make_request exposes a
lot of contention for sequential workload (or big request size
workload). For such workload, each bio includes several stripes. So we
can just do prepare_to_wait/finish_wait once for the whold bio instead
of every stripe.  This reduces the lock contention completely for such
workload. Random workload might have the similar lock contention too,
but I didn't see it yet, maybe because my stroage is still not fast
enough.

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

No differences found