block: relax jiffies rounding for timeouts
authorJens Axboe <axboe@kernel.dk>
Mon, 13 Jul 2020 21:48:16 +0000 (15:48 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 15 Jul 2020 15:23:35 +0000 (09:23 -0600)
commit9054650fac24b784df8500aba2869ebf240d069a
tree46ae23f1a8065541a9a0f3649fc38e57c8ba1c07
parent87890092ee6504a49841d854ff81a71a85c19a5d
block: relax jiffies rounding for timeouts

In doing high IOPS testing, blk-mq is generally pretty well optimized.
There are a few things that stuck out as using more CPU than what is
really warranted, and one thing is the round_jiffies_up() that we do
twice for each request. That accounts for about 0.8% of the CPU in
my testing.

We can make this cheaper by avoiding an integer division, by just adding
a rough HZ mask that we can AND with instead. The timeouts are only on a
second granularity already, we don't have to be that accurate here and
this patch barely changes that. All we care about is nice grouping.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-timeout.c