Linux block layer
 help / color / mirror / Atom feed
* [PATCH]block: Observing higher CPU utilization during random IO testing
@ 2026-06-04 16:27 wenxiong
  2026-06-08 15:04 ` Ming Lei
  2026-06-08 15:15 ` Jens Axboe
  0 siblings, 2 replies; 4+ messages in thread
From: wenxiong @ 2026-06-04 16:27 UTC (permalink / raw)
  To: linux-block, axboe; +Cc: tom.leiming, yukuai, wenxiong, Wen Xiong

From: Wen Xiong <wenxiong@linux.ibm.com>

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 <wenxiong@linux.ibm.com>
Suggested-by: Ming Lei <tom.leiming@gmail.com>
---
 block/blk-core.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 17450058ea6d..ee87edf166b6 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);
 }
 
 /*
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-08 15:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-04 16:27 [PATCH]block: Observing higher CPU utilization during random IO testing wenxiong
2026-06-08 15:04 ` Ming Lei
2026-06-08 15:15 ` Jens Axboe
2026-06-08 15:18   ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox