Skip to content

Adjust hybrid polling sleep time

Pavel Begunkov (Silence) linux-block lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7blk-iolatency: Fix zero mean in previous statsblock/blk-iolatency.c block/blk-stat.c block/blk-stat.h+36 -80 replies
2/7blk-stats: Introduce explicit stat staging buffersblock/blk-iolatency.c block/blk-stat.c block/blk-stat.h +1 more+61 -240 replies
3/7blk-mq: Fix disabled hybrid pollingblock/blk-mq.c+5 -50 replies
4/7blk-stats: Add left mean deviation to blk_statsblock/blk-mq-debugfs.c block/blk-stat.c block/blk-stat.h +1 more+34 -60 replies
5/7blk-mq: Precalculate hybrid polling timeblock/blk-core.c block/blk-mq-debugfs.c block/blk-mq.c +1 more+35 -210 replies
6/7blk-mq: Track num of overslept by hybrid poll rqsblock/blk-core.c block/blk-mq.c block/blk-stat.c +1 more+81 -280 replies
7/7blk-mq: Adjust hybrid poll sleep timeblock/blk-mq.c+37 -70 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/7] Adjust hybrid polling sleep time

From: Pavel Begunkov <[email protected]>

Sleep time for adaptive hybrid polling is coarse and can be improved to decrease CPU load. Use variation of the 3-sigma rule and runtime tuning.

This approach gives up to 2x CPU load reduction keeping the same latency distribution and throughput.

Pavel Begunkov (7):
blk-iolatency: Fix zero mean in previous stats
blk-stats: Introduce explicit stat staging buffers
blk-mq: Fix disabled hybrid polling
blk-stats: Add left mean deviation to blk_stats
blk-mq: Precalculate hybrid polling time
blk-mq: Track num of overslept by hybrid poll rqs
blk-mq: Adjust hybrid poll sleep time

 block/blk-core.c          |   7 +-
 block/blk-iolatency.c     |  60 ++++++++++----
 block/blk-mq-debugfs.c    |  14 ++--
 block/blk-mq.c            | 163 ++++++++++++++++++++++++++++----------
 block/blk-stat.c          |  67 +++++++++++++---
 block/blk-stat.h          |  15 +++-
 include/linux/blk_types.h |   9 +++
 include/linux/blkdev.h    |  17 +++-
 8 files changed, 271 insertions(+), 81 deletions(-)
Signature · 1 line
2.21.0