UPSTREAM: block: don't reorder requests in blk_mq_add_to_batch

LIFO ordering for batched completions is a bit unexpected and also
defeats some merging optimizations in e.g. the XFS buffered write
code.  Now that we can easily add the request to the tail of the list
do that.

Change-Id: I7d756bdcff026c7a01814fbeb6f5dc239999dd51
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20241113152050.157179-7-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Bug: 415836627
(cherry picked from commit 00e8d290b55f2fa5c5a0500b4dccf9e090650447)
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
Christoph Hellwig
2024-11-13 16:20:46 +01:00
committed by Carlos Llamas
parent bdcd6a28fd
commit 225f2e16ad

View File

@@ -920,7 +920,7 @@ static inline bool blk_mq_add_to_batch(struct request *req,
else if (iob->complete != complete)
return false;
iob->need_ts |= blk_mq_need_time_stamp(req);
rq_list_add_head(&iob->req_list, req);
rq_list_add_tail(&iob->req_list, req);
return true;
}