Lines Matching defs:wqi
95 struct wqinput *wqi;
100 wqi = node.sysctl_data;
102 percpu_foreach_xcall(wqi->wqi_worklists, XC_HIGHPRI_IPL(IPL_SOFTNET),
114 wqinput_sysctl_setup(const char *name, struct wqinput *wqi)
143 wqinput_sysctl_drops_handler, 0, (void *)wqi, 0, CTL_CREATE, CTL_EOL);
179 struct wqinput *wqi;
185 wqi = kmem_alloc(sizeof(*wqi), KM_SLEEP);
187 error = workqueue_create(&wqi->wqi_wq, namebuf, wqinput_work, wqi,
191 pool_init(&wqi->wqi_work_pool, sizeof(struct wqinput_work), 0, 0, 0,
193 wqi->wqi_worklists = percpu_create(sizeof(struct wqinput_worklist *),
195 wqi->wqi_input = func;
197 wqinput_sysctl_setup(name, wqi);
199 return wqi;
228 struct wqinput *wqi = arg;
236 wwl = wqinput_percpu_getref(wqi->wqi_worklists);
244 wqi->wqi_input(work->ww_mbuf, work->ww_off, work->ww_proto);
248 pool_put(&wqi->wqi_work_pool, work);
251 wqinput_percpu_putref(wqi->wqi_worklists);
269 wqinput_input(struct wqinput *wqi, struct mbuf *m, int off, int proto)
274 wwl = wqinput_percpu_getref(wqi->wqi_worklists);
283 work = pool_get(&wqi->wqi_work_pool, PR_NOWAIT);
301 workqueue_enqueue(wqi->wqi_wq, &wwl->wwl_work, NULL);
303 wqinput_percpu_putref(wqi->wqi_worklists);