Lines Matching full:w

64 	struct bt_work *w, *tmp;  in btracker_destroy()  local
67 list_for_each_entry_safe (w, tmp, &b->queued, list) { in btracker_destroy()
68 list_del(&w->list); in btracker_destroy()
69 kmem_cache_free(b->work_cache, w); in btracker_destroy()
92 struct bt_work *w; in __insert_pending() local
96 w = container_of(*new, struct bt_work, node); in __insert_pending()
99 cmp = cmp_oblock(w->work.oblock, nw->work.oblock); in __insert_pending()
121 struct bt_work *w; in __find_pending() local
125 w = container_of(*new, struct bt_work, node); in __find_pending()
127 cmp = cmp_oblock(w->work.oblock, oblock); in __find_pending()
138 return *new ? w : NULL; in __find_pending()
142 static void update_stats(struct background_tracker *b, struct policy_work *w, int delta) in update_stats() argument
144 switch (w->op) { in update_stats()
190 struct bt_work *w; in btracker_queue() local
195 w = alloc_work(b); in btracker_queue()
196 if (!w) in btracker_queue()
199 memcpy(&w->work, work, sizeof(*work)); in btracker_queue()
201 if (!__insert_pending(b, w)) { in btracker_queue()
206 kmem_cache_free(b->work_cache, w); in btracker_queue()
211 *pwork = &w->work; in btracker_queue()
212 list_add(&w->list, &b->issued); in btracker_queue()
214 list_add(&w->list, &b->queued); in btracker_queue()
215 update_stats(b, &w->work, 1); in btracker_queue()
226 struct bt_work *w; in btracker_issue() local
231 w = list_first_entry(&b->queued, struct bt_work, list); in btracker_issue()
232 list_move(&w->list, &b->issued); in btracker_issue()
233 *work = &w->work; in btracker_issue()
242 struct bt_work *w = container_of(op, struct bt_work, work); in btracker_complete() local
244 update_stats(b, &w->work, -1); in btracker_complete()
245 rb_erase(&w->node, &b->pending); in btracker_complete()
246 list_del(&w->list); in btracker_complete()
247 kmem_cache_free(b->work_cache, w); in btracker_complete()