Re: [PATCH 0/7] Adjust hybrid polling sleep time

From: Pavel Begunkov
Date: Fri May 24 2019 - 05:09:30 EST


Any suggestions?

You might also want to consider (and hopefully apply) the first 3
separately as they are bug fixes. (e.g. hybrid polling turned out to be
disabled).
Would it be better for me to split the patchset?


On 4/30/2019 10:34 AM, Pavel Begunkov (Silence) wrote:
> 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(-)
>

--
Yours sincerely,
Pavel Begunkov