aboutsummaryrefslogtreecommitdiff
path: root/rust/helpers/helpers.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-11-13 16:20:42 +0100
committerJens Axboe <axboe@kernel.dk>2024-11-13 12:04:26 -0700
commit7f212e997edbb7a2cb85cef2ac14265dfaf88717 (patch)
tree990729e7efa02af7754a21fdef766772b53b53d9 /rust/helpers/helpers.c
parentbeadf0088501d9dcf2454b05d90d5d31ea3ba55f (diff)
downloadlinux-7f212e997edbb7a2cb85cef2ac14265dfaf88717.tar.gz
linux-7f212e997edbb7a2cb85cef2ac14265dfaf88717.tar.bz2
linux-7f212e997edbb7a2cb85cef2ac14265dfaf88717.zip
virtio_blk: reverse request order in virtio_queue_rqs
blk_mq_flush_plug_list submits requests in the reverse order that they were submitted, which leads to a rather suboptimal I/O pattern especially in rotational devices. Fix this by rewriting virtio_queue_rqs so that it always pops the requests from the passed in request list, and then adds them to the head of a local submit list. This actually simplifies the code a bit as it removes the complicated list splicing, at the cost of extra updates of the rq_next pointer. As that should be cache hot anyway it should be an easy price to pay. Fixes: 0e9911fa768f ("virtio-blk: support mq_ops->queue_rqs()") Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20241113152050.157179-3-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions