Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GIT PULL] io_uring updates for 5.17-rc #16

Merged
merged 31 commits into from
Jan 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
06bdea2
io_uring: simplify reissue in kiocb_done
isilence Nov 23, 2021
7297ce3
io_uring: improve send/recv error handling
isilence Nov 23, 2021
f325118
io_uring: clean __io_import_iovec()
isilence Nov 23, 2021
2ea537c
io_uring: improve argument types of kiocb_done()
isilence Nov 23, 2021
913a571
io_uring: clean cqe filling functions
isilence Nov 10, 2021
04c76b4
io_uring: add option to skip CQE posting
isilence Nov 10, 2021
3d4aeb9
io_uring: don't spinlock when not posting CQEs
isilence Nov 10, 2021
5562a8d
io_uring: disable drain with cqe skip
isilence Nov 10, 2021
e302f10
io_uring: fix no lock protection for ctx->cq_extra
Nov 25, 2021
b6c7db3
io_uring: better to use REQ_F_IO_DRAIN for req->flags
Nov 25, 2021
2087009
io_uring: validate timespec for timeout removals
Nov 29, 2021
3648e52
io_uring: move up io_put_kbuf() and io_put_rw_kbuf()
Dec 5, 2021
d1fd1c2
io_uring: simplify selected buf handling
isilence Dec 5, 2021
83a13a4
io_uring: tweak iopoll CQE_SKIP event counting
isilence Dec 5, 2021
a90c8bf
io_uring: reuse io_req_task_complete for timeouts
isilence Dec 5, 2021
24115c4
io-wq: add helper to merge two wq_lists
Dec 7, 2021
4813c37
io_uring: add a priority tw list for irq completion work
Dec 7, 2021
9f8d032
io_uring: add helper for task work execution code
Dec 7, 2021
a37fae8
io_uring: split io_req_complete_post() and add a helper
Dec 7, 2021
f28c240
io_uring: batch completion in prior_task_list
Dec 8, 2021
33ce2af
io_uring: code clean for some ctx usage
Dec 14, 2021
e840b4b
io_uring: remove double poll on poll update
isilence Dec 15, 2021
2bbb146
io_uring: refactor poll update
isilence Dec 15, 2021
5641897
io_uring: move common poll bits
isilence Dec 15, 2021
ab1dab9
io_uring: kill poll linking optimisation
isilence Dec 15, 2021
aa43477
io_uring: poll rework
isilence Dec 15, 2021
eb0089d
io_uring: single shot poll removal optimisation
isilence Dec 15, 2021
cc8e9ba
io_uring: use completion batching for poll rem/upd
isilence Dec 15, 2021
00f6e68
io_uring: remove unused function parameter
Jan 5, 2022
c023565
io_uring: remove redundant tab space
Jan 5, 2022
3cc7fdb
io_uring: fix not released cached task refs
isilence Jan 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions fs/io-wq.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,28 @@ static inline void wq_list_add_after(struct io_wq_work_node *node,
list->last = node;
}

/**
* wq_list_merge - merge the second list to the first one.
* @list0: the first list
* @list1: the second list
* Return the first node after mergence.
*/
static inline struct io_wq_work_node *wq_list_merge(struct io_wq_work_list *list0,
struct io_wq_work_list *list1)
{
struct io_wq_work_node *ret;

if (!list0->first) {
ret = list1->first;
} else {
ret = list0->first;
list0->last->next = list1->first;
}
INIT_WQ_LIST(list0);
INIT_WQ_LIST(list1);
return ret;
}

static inline void wq_list_add_tail(struct io_wq_work_node *node,
struct io_wq_work_list *list)
{
Expand Down
Loading