raid1/raid10: slow down resync if there is non-resync activity pending
authorTomasz Majchrzak <tomasz.majchrzak@intel.com>
Mon, 13 Jun 2016 13:51:19 +0000 (15:51 +0200)
committerShaohua Li <shli@fb.com>
Mon, 13 Jun 2016 18:54:11 +0000 (11:54 -0700)
commit7ac504472263180745ac94242f1d253eb7284e48
treeccdbd22c6056ece215ab630629e76556e98ffa34
parent4ba1e78891e9858a5c773e6ffe4414611019bf42
raid1/raid10: slow down resync if there is non-resync activity pending

A performance drop of mkfs has been observed on RAID10 during resync
since commit 09314799e4f0 ("md: remove 'go_faster' option from
->sync_request()"). Resync sends so many IOs it slows down non-resync
IOs significantly (few times). Add a short delay to a resync. The
previous long sleep (1s) has proven unnecessary, even very short delay
brings performance right.

The change also applied to raid1. The problem has not been observed on
raid1, however it shares barriers code with raid10 so it might be an
issue for some setup too.

Suggested-by: NeilBrown <neilb@suse.com>
Link: http://lkml.kernel.org/r/20160609134555.GA9104@proton.igk.intel.com
Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/raid1.c
drivers/md/raid10.c