From: "yu kuai" <yukuai@fygo.io>
To: "Chen Cheng" <chencheng@fnnas.com>, <linux-raid@vger.kernel.org>,
<xiaon@kernel.org>, "yu kuai" <yukuai@fygo.io>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 0/5] md/raid1: improve choose_best_rdev read balance
Date: Sun, 18 Oct 2026 13:55:18 +0800 [thread overview]
Message-ID: <3247ba55-ce22-4345-86f4-99d2769efd34@fygo.io> (raw)
In-Reply-To: <20260818070646.1029149-1-chencheng@fnnas.com>
Hi,
在 2026/8/18 15:06, Chen Cheng 写道:
> From: Chen Cheng <chencheng@fnnas.com>
>
> Prefer a nonrot disk when one can take the read. When pending is
> the same, use a real round-robin among the disks we may pick.
Please note that adding new atomic operations per IO is not acceptable, future
solutions should also try to kill all existed atomic operations as well.
And your solution seems break an important case that if small sequence IO are
issued to the same disk, they can be merged by blk plug. I don't see test result
for this case.
In fact, I'll prefer a simple solution, keep the sequence IO to same disk until
they can't be merged(by io_opt or hw_sectors), and choose next simply by rr. IO
work flow can be complicated, and I'll prefer the simplest solution with minimal
overhead.
>
> fio libaio direct=1, NVMe none, SATA mq-deadline (stock -> this):
>
> - 2x GM9000: 1M QD16 j1 7.031 -> 13.886 GB/s, 50/50; 4k QD1 50/50
> - 2x/3x HDWG740: 0.294 -> 0.514 / 0.630 GB/s
> - GM9000+HDD seq: 2.468 or 0.280 -> 7.112 GB/s, 100/0 NVMe
> - Fanxiang+HDD seq, HDD first: 0.278 -> 0.562 GB/s
> - GM9000+HDD 4k QD8/16: clat -47% / -45%
>
>
> Chen Cheng (5):
> md/raid1: balance reads across non-rotational disks
> md/raid1: do not move nonrot reads onto a rot disk
> md/raid1: do not send random reads to a rot disk
> md/raid1: use rot policy when no nonrot disk is readable
> md/raid1: clarify choose_best_rdev comments
>
> drivers/md/raid1.c | 122 ++++++++++++++++++++++++++++++++++++++-------
> drivers/md/raid1.h | 1 +
> 2 files changed, 104 insertions(+), 19 deletions(-)
>
--
Thanks,
Kuai
prev parent reply other threads:[~2026-10-18 5:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 7:06 Chen Cheng
2026-08-18 7:06 ` [RFC PATCH 1/5] md/raid1: balance reads across non-rotational disks Chen Cheng
2026-08-18 7:06 ` [RFC PATCH 2/5] md/raid1: do not move nonrot reads onto a rot disk Chen Cheng
2026-08-18 7:06 ` [RFC PATCH 3/5] md/raid1: do not send random reads to " Chen Cheng
2026-08-18 7:06 ` [RFC PATCH 4/5] md/raid1: use rot policy when no nonrot disk is readable Chen Cheng
2026-08-18 7:06 ` [RFC PATCH 5/5] md/raid1: clarify choose_best_rdev comments Chen Cheng
2026-10-18 5:55 ` yu kuai [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3247ba55-ce22-4345-86f4-99d2769efd34@fygo.io \
--to=yukuai@fygo.io \
--cc=chencheng@fnnas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=xiaon@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®