diff options
| author | Yu Kuai <yukuai3@huawei.com> | 2025-03-25 04:57:46 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-25 11:45:39 +0300 |
| commit | f10aa9bc94de0aa334380b3903dd2f5ec1f48231 (patch) | |
| tree | 9c2577ff0780850731cde408f3beeee7a95fffb1 | |
| parent | b0348f33940f126bfbeea5e90c2baf7e41ea1493 (diff) | |
| download | linux-f10aa9bc94de0aa334380b3903dd2f5ec1f48231.tar.xz | |
md/raid10: fix missing discard IO accounting
[ Upstream commit d05af90d6218e9c8f1c2026990c3f53c1b41bfb0 ]
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
Link: https://lore.kernel.org/linux-raid/20250325015746.3195035-1-yukuai1@huaweicloud.com
Fixes: 528bc2cf2fcc ("md/raid10: enable io accounting")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Acked-by: Coly Li <colyli@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | drivers/md/raid10.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index c300fd609ef0..36b6bf3f8b29 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1756,6 +1756,7 @@ retry_discard: * The discard bio returns only first r10bio finishes */ if (first_copy) { + md_account_bio(mddev, &bio); r10_bio->master_bio = bio; set_bit(R10BIO_Discard, &r10_bio->state); first_copy = false; |
