io_uring: deduplicate io_queue_sqe() call sites
There are two call sites of io_queue_sqe() in io_submit_sqe(), combine them into one, because io_queue_sqe() is inline and we don't want to bloat binary, and will become even bigger text data bss dec hex filename 92126 13986 8 106120 19e88 ./fs/io_uring.o 91966 13986 8 105960 19de8 ./fs/io_uring.o Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/506124b8e767f0a4576f7a459f6aea3d13fb4dda.1632516769.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
553deffd09
Коммит
f15a343177
|
@ -7117,20 +7117,18 @@ fail_req:
|
|||
link->last->link = req;
|
||||
link->last = req;
|
||||
|
||||
if (req->flags & (REQ_F_LINK | REQ_F_HARDLINK))
|
||||
return 0;
|
||||
/* last request of a link, enqueue the link */
|
||||
if (!(req->flags & (REQ_F_LINK | REQ_F_HARDLINK))) {
|
||||
link->head = NULL;
|
||||
io_queue_sqe(head);
|
||||
}
|
||||
} else {
|
||||
if (req->flags & (REQ_F_LINK | REQ_F_HARDLINK)) {
|
||||
link->head = req;
|
||||
link->last = req;
|
||||
} else {
|
||||
io_queue_sqe(req);
|
||||
}
|
||||
link->head = NULL;
|
||||
req = head;
|
||||
} else if (req->flags & (REQ_F_LINK | REQ_F_HARDLINK)) {
|
||||
link->head = req;
|
||||
link->last = req;
|
||||
return 0;
|
||||
}
|
||||
|
||||
io_queue_sqe(req);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче