Re: [PATCH] md/raid10: fix missing discard IO accounting

From: Coly Li
Date: Tue Mar 25 2025 - 08:08:45 EST




> 2025年3月25日 15:27,Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> 写道:
>
> Hi,
>
> 在 2025/03/25 15:04, Coly Li 写道:
>> On Tue, Mar 25, 2025 at 09:57:46AM +0800, Yu Kuai wrote:
>>> From: Yu Kuai <yukuai3@xxxxxxxxxx>
>>>
>>> md_account_bio() is not called from raid10_handle_discard(), now that we
>>> handle bitmap inside md_account_bio(), also fix missing
>>> bitmap_startwrite for discard.
>>>
>>> Test whole disk discard for 20G raid10:
>>>
>>> Before:
>>> Device d/s dMB/s drqm/s %drqm d_await dareq-sz
>>> md0 48.00 16.00 0.00 0.00 5.42 341.33
>>>
>>> After:
>>> Device d/s dMB/s drqm/s %drqm d_await dareq-sz
>>> md0 68.00 20462.00 0.00 0.00 2.65 308133.65
>>>
>>> Fixes: 528bc2cf2fcc ("md/raid10: enable io accounting")
>>> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
>> Should we treat discard request as real I/O?
>> Normally IMHO discard request should not be counted as real data transfer,
>> correct me if I am wrong.
>
> Normally it's not, that's why discard IOs are accounted separately in
> the block layer.
>
> Also notice that discard should be treated as write, because after
> discard, reading will get zero data.

I see, it is for the separated discard counting. Sure, I reply my Acked-by on the original patch.

Thank you for the explanation.

Coly Li