Skip to content

Commit 108d8ae

Browse files
calebsanderaxboe
authored andcommitted
ublk: avoid redundant io->cmd in ublk_queue_cmd_list()
ublk_queue_cmd_list() loads io->cmd twice. The intervening stores prevent the compiler from combining the loads. Since struct ublk_io *io is only used to compute io->cmd, replace the variable with io->cmd. Signed-off-by: Caleb Sander Mateos <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
1 parent 6a87fc4 commit 108d8ae

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/block/ublk_drv.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,12 +1301,12 @@ static void ublk_cmd_list_tw_cb(struct io_uring_cmd *cmd,
13011301
static void ublk_queue_cmd_list(struct ublk_queue *ubq, struct rq_list *l)
13021302
{
13031303
struct request *rq = rq_list_peek(l);
1304-
struct ublk_io *io = &ubq->ios[rq->tag];
1305-
struct ublk_uring_cmd_pdu *pdu = ublk_get_uring_cmd_pdu(io->cmd);
1304+
struct io_uring_cmd *cmd = ubq->ios[rq->tag].cmd;
1305+
struct ublk_uring_cmd_pdu *pdu = ublk_get_uring_cmd_pdu(cmd);
13061306

13071307
pdu->req_list = rq;
13081308
rq_list_init(l);
1309-
io_uring_cmd_complete_in_task(io->cmd, ublk_cmd_list_tw_cb);
1309+
io_uring_cmd_complete_in_task(cmd, ublk_cmd_list_tw_cb);
13101310
}
13111311

13121312
static enum blk_eh_timer_return ublk_timeout(struct request *rq)

0 commit comments

Comments
 (0)