Lines Matching refs:work
67 struct work wwl_work;
78 static void wqinput_work(struct work *, void *);
205 struct wqinput_work *work; in wqinput_work_get() local
209 work = wwl->wwl_head; in wqinput_work_get()
210 if (work != NULL) { in wqinput_work_get()
213 wwl->wwl_head = work->ww_next; in wqinput_work_get()
214 work->ww_next = NULL; in wqinput_work_get()
222 return work; in wqinput_work_get()
226 wqinput_work(struct work *wk, void *arg) in wqinput_work()
229 struct wqinput_work *work; in wqinput_work() local
241 while ((work = wqinput_work_get(wwl)) != NULL) { in wqinput_work()
244 wqi->wqi_input(work->ww_mbuf, work->ww_off, work->ww_proto); in wqinput_work()
248 pool_put(&wqi->wqi_work_pool, work); in wqinput_work()
256 wqinput_work_put(struct wqinput_worklist *wwl, struct wqinput_work *work) in wqinput_work_put() argument
260 wwl->wwl_tail->ww_next = work; in wqinput_work_put()
262 wwl->wwl_head = work; in wqinput_work_put()
264 wwl->wwl_tail = work; in wqinput_work_put()
271 struct wqinput_work *work; in wqinput_input() local
283 work = pool_get(&wqi->wqi_work_pool, PR_NOWAIT); in wqinput_input()
284 if (work == NULL) { in wqinput_input()
289 work->ww_mbuf = m; in wqinput_input()
290 work->ww_off = off; in wqinput_input()
291 work->ww_proto = proto; in wqinput_input()
292 work->ww_next = NULL; in wqinput_input()
294 wqinput_work_put(wwl, work); in wqinput_input()