Lines Matching refs:worker
1002 struct loop_worker *cur_worker, *worker = NULL; in loop_queue_work() local
1017 worker = cur_worker; in loop_queue_work()
1025 if (worker) in loop_queue_work()
1028 worker = kzalloc(sizeof(struct loop_worker), GFP_NOWAIT | __GFP_NOWARN); in loop_queue_work()
1033 if (!worker) { in loop_queue_work()
1041 worker->blkcg_css = cmd->blkcg_css; in loop_queue_work()
1042 css_get(worker->blkcg_css); in loop_queue_work()
1043 INIT_WORK(&worker->work, loop_workfn); in loop_queue_work()
1044 INIT_LIST_HEAD(&worker->cmd_list); in loop_queue_work()
1045 INIT_LIST_HEAD(&worker->idle_list); in loop_queue_work()
1046 worker->lo = lo; in loop_queue_work()
1047 rb_link_node(&worker->rb_node, parent, node); in loop_queue_work()
1048 rb_insert_color(&worker->rb_node, &lo->worker_tree); in loop_queue_work()
1050 if (worker) { in loop_queue_work()
1056 if (!list_empty(&worker->idle_list)) in loop_queue_work()
1057 list_del_init(&worker->idle_list); in loop_queue_work()
1058 work = &worker->work; in loop_queue_work()
1059 cmd_list = &worker->cmd_list; in loop_queue_work()
1336 struct loop_worker *pos, *worker; in __loop_clr_fd() local
1370 list_for_each_entry_safe(worker, pos, &lo->idle_worker_list, in __loop_clr_fd()
1372 list_del(&worker->idle_list); in __loop_clr_fd()
1373 rb_erase(&worker->rb_node, &lo->worker_tree); in __loop_clr_fd()
1374 css_put(worker->blkcg_css); in __loop_clr_fd()
1375 kfree(worker); in __loop_clr_fd()
2227 static void loop_process_work(struct loop_worker *worker, in loop_process_work() argument
2252 if (worker && !work_pending(&worker->work)) { in loop_process_work()
2253 worker->last_ran_at = jiffies; in loop_process_work()
2254 list_add_tail(&worker->idle_list, &lo->idle_worker_list); in loop_process_work()
2263 struct loop_worker *worker = in loop_workfn() local
2265 loop_process_work(worker, &worker->cmd_list, worker->lo); in loop_workfn()
2278 struct loop_worker *pos, *worker; in loop_free_idle_workers() local
2281 list_for_each_entry_safe(worker, pos, &lo->idle_worker_list, in loop_free_idle_workers()
2283 if (time_is_after_jiffies(worker->last_ran_at + in loop_free_idle_workers()
2286 list_del(&worker->idle_list); in loop_free_idle_workers()
2287 rb_erase(&worker->rb_node, &lo->worker_tree); in loop_free_idle_workers()
2288 css_put(worker->blkcg_css); in loop_free_idle_workers()
2289 kfree(worker); in loop_free_idle_workers()