[PATCH 0/7] Adjust hybrid polling sleep time

From: Pavel Begunkov (Silence)
Date: Tue Apr 30 2019 - 03:34:57 EST


From: Pavel Begunkov <asml.silence@xxxxxxxxx>

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(-)

--
2.21.0