diff options
author | Chengming Zhou <zhouchengming@bytedance.com> | 2023-07-17 06:00:58 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-07-17 16:18:21 +0200 |
commit | 81ada09cc25e4bf2de7d2951925fb409338a545d (patch) | |
tree | b486628026924a3c46956cafdce6d9604a135a29 /include | |
parent | blk-flush: count inflight flush_data requests (diff) | |
download | linux-81ada09cc25e4bf2de7d2951925fb409338a545d.tar.xz linux-81ada09cc25e4bf2de7d2951925fb409338a545d.zip |
blk-flush: reuse rq queuelist in flush state machine
Since we don't need to maintain inflight flush_data requests list
anymore, we can reuse rq->queuelist for flush pending list.
Note in mq_flush_data_end_io(), we need to re-initialize rq->queuelist
before reusing it in the state machine when end, since the rq->rq_next
also reuse it, may have corrupted rq->queuelist by the driver.
This patch decrease the size of struct request by 16 bytes.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20230717040058.3993930-5-chengming.zhou@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/blk-mq.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 67f810857634..01e8c31db665 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -178,7 +178,6 @@ struct request { struct { unsigned int seq; - struct list_head list; rq_end_io_fn *saved_end_io; } flush; |