• Shaohua Li's avatar
    raid5: make_request does less prepare wait · 27c0f68f
    Shaohua Li authored
    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: default avatarShaohua Li <shli@fusionio.com>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    27c0f68f
raid5.c 197 KB