Thread (30 messages) 30 messages, 5 authors, 2021-08-30

Re: [PATCH] block/mq-deadline: Speed up the dispatch of low-priority requests

From: Jens Axboe <axboe@kernel.dk>
Date: 2021-08-26 18:13:44
Also in: lkml

On 8/26/21 12:09 PM, Bart Van Assche wrote:
On 8/26/21 7:40 AM, Zhen Lei wrote:
quoted
lock protection needs to be added only in dd_finish_request(), which
is unlikely to cause significant performance side effects.
Not sure the above is correct. Every new atomic instruction has a
measurable performance overhead. But I guess in this case that
overhead is smaller than the time needed to sum 128 per-CPU variables.
perpcu counters only really work, if the summing is not in a hot path,
or if the summing is just some "not zero" thing instead of a full sum.
They just don't scale at all for even moderately sized systems.
quoted
Tested on my 128-core board with two ssd disks.
fio bs=4k rw=read iodepth=128 cpus_allowed=0-95 <others>
Before:
[183K/0/0 iops]
[172K/0/0 iops]

After:
[258K/0/0 iops]
[258K/0/0 iops]
Nice work!
quoted
Fixes: fb926032b320 ("block/mq-deadline: Prioritize high-priority requests")
Shouldn't the Fixes: tag be used only for patches that modify
functionality? I'm not sure it is appropriate to use this tag for
performance improvements.
For a regression this big, I think it's the right thing. Anyone that may
backport the original commit definitely should also get the followup
fix. This isn't just a performance improvement, it's fixing a big
performance regression.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help