Lines Matching refs:list
45 struct io_wq_work_list *list) in wq_list_add_after() argument
52 list->last = node; in wq_list_add_after()
56 struct io_wq_work_list *list) in wq_list_add_tail() argument
59 if (!list->first) { in wq_list_add_tail()
60 list->last = node; in wq_list_add_tail()
61 WRITE_ONCE(list->first, node); in wq_list_add_tail()
63 list->last->next = node; in wq_list_add_tail()
64 list->last = node; in wq_list_add_tail()
68 static inline void wq_list_cut(struct io_wq_work_list *list, in wq_list_cut() argument
74 WRITE_ONCE(list->first, last->next); in wq_list_cut()
78 if (last == list->last) in wq_list_cut()
79 list->last = prev; in wq_list_cut()
83 static inline void wq_list_del(struct io_wq_work_list *list, in wq_list_del() argument
87 wq_list_cut(list, node, prev); in wq_list_del()
93 #define wq_list_empty(list) (READ_ONCE((list)->first) == NULL) argument
94 #define INIT_WQ_LIST(list) do { \ argument
95 (list)->first = NULL; \
96 (list)->last = NULL; \
100 struct io_wq_work_node list; member
106 if (!work->list.next) in wq_next_work()
109 return container_of(work->list.next, struct io_wq_work, list); in wq_next_work()