2021-09-07 15:59:31

by Niklas Cassel

[permalink] [raw]
Subject: [PATCH 0/2] don't call io scheduler callbacks for passthrough requests

From: Niklas Cassel <[email protected]>

Recently, there were some extra "dummy" data added into mq-deadline
rq->elv.priv, that was added for the solve purpose of working around
quirky behavior in blk-mq (which called the scheduler callbacks even
for requests that bypassed the scheduler).

Fix blk-mq to not call the I/O scheduler callbacks for passthrough requests,
since they will later bypass the I/O scheduler anyway.

This way, we can remove unnecessary logic in mq-deadline that was added to
deal with this quirky behavior.

BFQ should be able to perform a similar cleanup, if they wish, and should
then be able to drop this comment from the code:
https://github.com/torvalds/linux/blob/v5.14/block/bfq-iosched.c#L6456-L6462

Considering that I'm quite unfamiliar with the BFQ code, I'd rather
someone who is a bit more familiar with BFQ performs that cleanup.


Kind regards,
Niklas

Niklas Cassel (2):
blk-mq: don't call callbacks for requests that bypassed the scheduler
Revert "mq-deadline: Fix request accounting"

block/blk-mq.c | 7 ++++++-
block/mq-deadline.c | 16 +++++-----------
2 files changed, 11 insertions(+), 12 deletions(-)

--
2.31.1