From: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
To: Yufen Yu <yuyufen@huawei.com>, song@kernel.org
Cc: linux-raid@vger.kernel.org, neilb@suse.com, colyli@suse.de,
xni@redhat.com, houtao1@huawei.com
Subject: Re: [PATCH v3 00/11] md/raid5: set STRIPE_SIZE as a configurable value
Date: Mon, 1 Jun 2020 16:02:20 +0200 [thread overview]
Message-ID: <9acfb512-88ee-b4b0-88d4-94841e72d31a@cloud.ionos.com> (raw)
In-Reply-To: <555121b6-fe76-4827-7b8f-7a22ba04ed82@huawei.com>
On 5/30/20 4:15 AM, Yufen Yu wrote:
>
>
> On 2020/5/29 20:22, Guoqing Jiang wrote:
>> On 5/29/20 1:49 PM, Yufen Yu wrote:
>>>> The 4k rand write performance drops from 100MB/S to 15MB/S?! How
>>>> about other
>>>> io sizes? Say 16k, 64K and 256K etc, it would be more convincing if
>>>> 64KB stripe
>>>> has better performance than 4KB stripe overall.
>>>>
>>>
>>> Maybe I have not explain clearly. Here, the fio test result shows
>>> that 4KB
>>> STRIPE_SIZE is not always have better performance. If applications
>>> request
>>> IO size mostly are bigger than 4KB, likely 1MB in test, set
>>> STRIPE_SIZE with
>>> a bigger value can get better performance.
>>>
>>> So, we try to provide a configurable STRIPE_SIZE, rather than fix
>>> STRIPE_SIZE as 4096.
>>
>> Which means if you set stripe size to 64KB then you should guarantee
>> the io size should
>> always bigger then 1MB, right? Given that, I don't think it makes
>> lots of sense.
>>
>
> No, I think you misunderstood. This patchset just want to optimize
> RAID5 performance
> for systems whose PAGE_SIZE is bigger than 4KB, likely 64KB on ARM64.
> Without this
> patchset, STRIPE_SIZE is equal to 64KB, means each IO size issued to
> array disk at
> least 64KB each time, Right? But filesystems usually issue bio in the
> unit of 4KB,
> means sometimes required 4KB but read or write 64KB on disk actually.
> That would
> waste resources.
Yes,, it is hard for me to understand your way is better than just make
stripe size equals to
4KB.
>
> After this patchset, we set STRIPE_SIZE as default 4KB. For systems
> like X86, which
> just support 4KB PAGE_SIZE, it will not have any effect. But for 64KB
> arm64 system,
> it **normally** can get better performance on filesystems base on
> raid5, like dbench test.
>
> fio test just want to say that, we can also configure STRIPE_SIZE with
> a bigger value
> than default 4KB on 64KB ARM64 system when applications mostly issue
> big IO. It can
> get better performance for reducing IO split in RAID5.
I do think the flexibility is not enough, if someone set stripe size to
64KB by any chance,
people could complain the performance of raid5 really sucks if the io is
not big. And it is
not realistic to let people rebuild the module in case the io size is
changed, so it would be
more helpful if the stripe size can be changed dynamically without
recompile code.
Thanks,
Guoqing
next prev parent reply other threads:[~2020-06-01 14:02 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-27 13:19 [PATCH v3 00/11] md/raid5: set STRIPE_SIZE as a configurable value Yufen Yu
2020-05-27 13:19 ` [PATCH v3 01/11] md/raid5: add CONFIG_MD_RAID456_STRIPE_SHIFT to set STRIPE_SIZE Yufen Yu
2020-05-27 13:54 ` Guoqing Jiang
2020-05-27 23:30 ` John Stoffel
2020-05-28 6:17 ` Yufen Yu
2020-05-27 15:16 ` Xiao Ni
2020-05-28 6:29 ` Yufen Yu
2020-05-27 20:21 ` kbuild test robot
2020-05-28 14:23 ` Song Liu
2020-05-29 8:42 ` Yufen Yu
2020-05-27 13:19 ` [PATCH v3 02/11] md/raid5: add a member of r5pages for struct stripe_head Yufen Yu
2020-05-27 13:19 ` [PATCH v3 03/11] md/raid5: allocate and free pages of r5pages Yufen Yu
2020-05-27 13:19 ` [PATCH v3 04/11] md/raid5: set correct page offset for bi_io_vec in ops_run_io() Yufen Yu
2020-05-27 13:19 ` [PATCH v3 05/11] md/raid5: set correct page offset for async_copy_data() Yufen Yu
2020-05-27 13:19 ` [PATCH v3 06/11] md/raid5: add new xor function to support different page offset Yufen Yu
2020-05-27 13:19 ` [PATCH v3 07/11] md/raid5: add offset array in scribble buffer Yufen Yu
2020-05-27 13:19 ` [PATCH v3 08/11] md/raid5: compute xor with correct page offset Yufen Yu
2020-05-27 13:19 ` [PATCH v3 09/11] md/raid6: let syndrome computor support different " Yufen Yu
2020-05-27 13:19 ` [PATCH v3 10/11] md/raid6: compute syndrome with correct " Yufen Yu
2020-05-27 13:19 ` [PATCH v3 11/11] raid6test: adaptation with syndrome function Yufen Yu
2020-05-28 14:10 ` [PATCH v3 00/11] md/raid5: set STRIPE_SIZE as a configurable value Song Liu
2020-05-28 14:28 ` Song Liu
2020-05-29 9:32 ` Yufen Yu
2020-05-28 22:07 ` Guoqing Jiang
2020-05-29 11:49 ` Yufen Yu
2020-05-29 12:22 ` Guoqing Jiang
2020-05-30 2:15 ` Yufen Yu
2020-06-01 14:02 ` Guoqing Jiang [this message]
2020-06-02 6:59 ` Song Liu
2020-06-04 13:17 ` Yufen Yu
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=9acfb512-88ee-b4b0-88d4-94841e72d31a@cloud.ionos.com \
--to=guoqing.jiang@cloud.ionos.com \
--cc=colyli@suse.de \
--cc=houtao1@huawei.com \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.com \
--cc=song@kernel.org \
--cc=xni@redhat.com \
--cc=yuyufen@huawei.com \
/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