Lines Matching refs:pw
90 struct padata_work *pw; in padata_work_alloc() local
97 pw = list_first_entry(&padata_free_works, struct padata_work, pw_list); in padata_work_alloc()
98 list_del(&pw->pw_list); in padata_work_alloc()
99 return pw; in padata_work_alloc()
110 static void __ref padata_work_init(struct padata_work *pw, work_func_t work_fn, in padata_work_init() argument
114 INIT_WORK_ONSTACK(&pw->pw_work, work_fn); in padata_work_init()
116 INIT_WORK(&pw->pw_work, work_fn); in padata_work_init()
117 pw->pw_data = data; in padata_work_init()
128 struct padata_work *pw = padata_work_alloc(); in padata_work_alloc_mt() local
130 if (!pw) in padata_work_alloc_mt()
132 padata_work_init(pw, padata_mt_helper, data, 0); in padata_work_alloc_mt()
133 list_add(&pw->pw_list, head); in padata_work_alloc_mt()
140 static void padata_work_free(struct padata_work *pw) in padata_work_free() argument
143 list_add(&pw->pw_list, &padata_free_works); in padata_work_free()
163 struct padata_work *pw = container_of(parallel_work, struct padata_work, in padata_parallel_worker() local
165 struct padata_priv *padata = pw->pw_data; in padata_parallel_worker()
170 padata_work_free(pw); in padata_parallel_worker()
197 struct padata_work *pw; in padata_do_parallel() local
231 pw = padata_work_alloc(); in padata_do_parallel()
234 if (!pw) { in padata_do_parallel()
241 if (pw) { in padata_do_parallel()
242 padata_work_init(pw, padata_parallel_worker, padata, 0); in padata_do_parallel()
243 queue_work(pinst->parallel_wq, &pw->pw_work); in padata_do_parallel()
468 struct padata_work *pw = container_of(w, struct padata_work, pw_work); in padata_mt_helper() local
469 struct padata_mt_job_state *ps = pw->pw_data; in padata_mt_helper()
510 struct padata_work my_work, *pw; in padata_do_multithreaded() local
548 list_for_each_entry(pw, &works, pw_list) in padata_do_multithreaded()
555 queue_work_node(nid, system_unbound_wq, &pw->pw_work); in padata_do_multithreaded()
557 queue_work(system_unbound_wq, &pw->pw_work); in padata_do_multithreaded()