summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2019-06-14 15:41:11 -0700
committerJens Axboe <axboe@kernel.dk>2019-06-15 01:37:35 -0600
commite9eeba28a1e01a55b49cdcf9c7a346d2aaa0aa7d (patch)
treea11ec9c1ea3aa524798929a38158667a81218c3e /block
parentc7afa8034b09bc2bb664d86de7db34466401f352 (diff)
downloadlinux-0-day-e9eeba28a1e01a55b49cdcf9c7a346d2aaa0aa7d.tar.gz
linux-0-day-e9eeba28a1e01a55b49cdcf9c7a346d2aaa0aa7d.tar.xz
md/raid10: read balance chooses idlest disk for SSD
Andy reported that raid10 array with SSD disks has poor read performance. Compared with raid1, RAID-1 can be 3x faster than RAID-10 sometimes [1]. The thing is that raid10 chooses the low distance disk for read request, however, the approach doesn't work well for SSD device since it doesn't have spindle like HDD, we should just read from the SSD which has less pending IO like commit 9dedf60313fa4 ("md/raid1: read balance chooses idlest disk for SSD"). So this commit selects the idlest SSD disk for read if array has none rotational disk, otherwise, read_balance uses the previous distance priority algorithm. With the change, the performance of raid10 gets increased largely per Andy's test [2]. [1]. https://marc.info/?l=linux-raid&m=155915890004761&w=2 [2]. https://marc.info/?l=linux-raid&m=155990654223786&w=2 Tested-by: Andy Smith <andy@strugglers.net> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions