Home | History | Annotate | Download | only in netinet

Lines Matching refs:work

67 	struct work	wwl_work;
78 static void wqinput_work(struct work *, void *);
205 struct wqinput_work *work;
209 work = wwl->wwl_head;
210 if (work != NULL) {
213 wwl->wwl_head = work->ww_next;
214 work->ww_next = NULL;
222 return work;
226 wqinput_work(struct work *wk, void *arg)
229 struct wqinput_work *work;
238 /* We can allow enqueuing another work at this point */
241 while ((work = wqinput_work_get(wwl)) != NULL) {
244 wqi->wqi_input(work->ww_mbuf, work->ww_off, work->ww_proto);
248 pool_put(&wqi->wqi_work_pool, work);
256 wqinput_work_put(struct wqinput_worklist *wwl, struct wqinput_work *work)
260 wwl->wwl_tail->ww_next = work;
262 wwl->wwl_head = work;
264 wwl->wwl_tail = work;
271 struct wqinput_work *work;
276 /* Prevent too much work and mbuf from being queued */
283 work = pool_get(&wqi->wqi_work_pool, PR_NOWAIT);
284 if (work == NULL) {
289 work->ww_mbuf = m;
290 work->ww_off = off;
291 work->ww_proto = proto;
292 work->ww_next = NULL;
294 wqinput_work_put(wwl, work);
296 /* Avoid enqueuing another work when one is already enqueued */