]> git.karo-electronics.de Git - karo-tx-linux.git/commit
block: Add iocontext priority to request
authorAdam Manzanares <adam.manzanares@hgst.com>
Mon, 17 Oct 2016 18:27:28 +0000 (11:27 -0700)
committerTejun Heo <tj@kernel.org>
Wed, 19 Oct 2016 18:34:35 +0000 (14:34 -0400)
commit5dc8b362a2374d007bc0db649b7ab6a79dd32bda
tree0049fe83ff4a87fa490997eaffc0c79194001bb6
parent2facc6dacc64f14efc6fb81e2019f48e992166e2
block: Add iocontext priority to request

Patch adds an association between iocontext ioprio and the ioprio of a
request. This is done to enable request based drivers the ability to
act on priority information stored in the request. An example being
ATA devices that support command priorities. If the ATA driver discovers
that the device supports command priorities and the request has valid
priority information indicating the request is high priority, then a high
priority command can be sent to the device. This should improve tail
latencies for high priority IO on any device that queues requests
internally and can make use of the priority information stored in the
request.

The ioprio of the request is set in blk_rq_set_prio which takes the
request and the ioc as arguments. If the ioc is valid in blk_rq_set_prio
then the iopriority of the request is set as the iopriority of the ioc.
In init_request_from_bio a check is made to see if the ioprio of the bio
is valid and if so then the request prio comes from the bio.

Signed-off-by: Adam Manzananares <adam.manzanares@wdc.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Tejun Heo <tj@kernel.org>
block/blk-core.c
include/linux/blkdev.h