io_wq_work
struct io_wq_work work;
struct io_wq_work;
__field( struct io_wq_work *, work )
static bool io_cancel_task_cb(struct io_wq_work *work, void *data)
__cold bool io_cancel_ctx_cb(struct io_wq_work *work, void *data)
static bool io_cancel_cb(struct io_wq_work *work, void *data)
__cold bool io_cancel_ctx_cb(struct io_wq_work *work, void *data);
struct io_wq_work *work, unsigned int work_flags)
struct io_wq_work *tail;
static bool io_wq_work_match_item(struct io_wq_work *work, void *data)
void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work)
void io_wq_hash_work(struct io_wq_work *work, void *val)
struct io_wq_work *work)
struct io_wq_work *work,
struct io_wq_work *prev_work = NULL;
prev_work = container_of(prev, struct io_wq_work, list);
struct io_wq_work *work;
work = container_of(node, struct io_wq_work, list);
struct io_wq_work *hash_tail[IO_WQ_NR_HASH_BUCKETS];
static inline unsigned int io_get_work_hash(struct io_wq_work *work)
static bool io_wq_hash_defer(struct io_wq_work *work, struct io_wq_acct *acct)
struct io_wq_work *next;
next = container_of(acct->work_list.first, struct io_wq_work, list);
static struct io_wq_work *io_get_next_work(struct io_wq_acct *acct,
struct io_wq_work *work, *tail;
work = container_of(node, struct io_wq_work, list);
struct io_wq_work *cur_work;
struct io_wq_work *work)
struct io_wq_work *work;
struct io_wq_work *next_hashed, *linked;
static bool io_wq_work_match_all(struct io_wq_work *work, void *data)
static void io_run_cancel(struct io_wq_work *work, struct io_wq *wq)
void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work);
void io_wq_hash_work(struct io_wq_work *work, void *val);
static inline bool io_wq_is_hashed(struct io_wq_work *work)
typedef bool (work_cancel_fn)(struct io_wq_work *, void *);
struct io_wq_work *io_wq_free_work(struct io_wq_work *work)
void io_wq_submit_work(struct io_wq_work *work)
struct io_wq_work *io_wq_free_work(struct io_wq_work *work);
void io_wq_submit_work(struct io_wq_work *work);
static inline struct io_wq_work *wq_next_work(struct io_wq_work *work)
return container_of(work->list.next, struct io_wq_work, list);