From 3913fa450ecde8126f9538a875527c39f15658fc Mon Sep 17 00:00:00 2001 From: Wen Xiong Date: Thu, 4 Jun 2026 12:27:09 -0400 Subject: [PATCH] block: Observing higher CPU utilization during random IO testing Hi All, Our performance team observed the higher CPU utilization in RHEL10 compared to RHEL9.8, observed the similar issue in upstream kernel(v7.1-rc6) as well when running FIO random IO tests. Random IO tests are more CPU intensive than sequential IO tests due to several factors: more context switching, interrupt Handling, cache Inefficiency etc. Given commit 060406c61c7c ("block: add plug while submitting IO") causes performance regression. This patch reverts it. Below is performance comparison with the latest upstream kernel. Iotype qd nj rmix mpstat busy mpstat busy with inner plug without inner plug Randrw 1 20 100 53% 24% Randrw 1 40 100 70% 24% Randrw 1 20 70 40% 24% Randrw 1 40 70 60% 26% Randrw 1 20 0 14% 6% Randrw 1 40 0 20% 7% Signed-off-by: Wen Xiong Suggested-by: Ming Lei --- block/blk-core.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 17450058ea6d8..ee87edf166b6d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -626,11 +626,6 @@ static inline blk_status_t blk_check_zone_append(struct request_queue *q, static void __submit_bio(struct bio *bio) { - /* If plug is not used, add new plug here to cache nsecs time. */ - struct blk_plug plug; - - blk_start_plug(&plug); - if (!bdev_test_flag(bio->bi_bdev, BD_HAS_SUBMIT_BIO)) { blk_mq_submit_bio(bio); } else if (likely(bio_queue_enter(bio) == 0)) { @@ -645,8 +640,6 @@ static void __submit_bio(struct bio *bio) } blk_queue_exit(disk->queue); } - - blk_finish_plug(&plug); } /*