Message ID | cover.1556609582.git.asml.silence@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Adjust hybrid polling sleep time | expand |
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@gmail.com> > > 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(-) >
From: Pavel Begunkov <asml.silence@gmail.com> 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(-)