Lines Matching refs:work
85 struct cpu_stop_work *work) in __cpu_stop_queue_work() argument
87 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
91 static bool cpu_stop_queue_work(unsigned int cpu, struct cpu_stop_work *work) in cpu_stop_queue_work() argument
101 __cpu_stop_queue_work(stopper, work); in cpu_stop_queue_work()
102 else if (work->done) in cpu_stop_queue_work()
103 cpu_stop_signal_done(work->done); in cpu_stop_queue_work()
140 struct cpu_stop_work work = { .fn = fn, .arg = arg, .done = &done, .caller = _RET_IP_ }; in stop_one_cpu() local
143 if (!cpu_stop_queue_work(cpu, &work)) in stop_one_cpu()
396 struct cpu_stop_work *work; in queue_stop_cpus_work() local
409 work = &per_cpu(cpu_stopper.stop_work, cpu); in queue_stop_cpus_work()
410 work->fn = fn; in queue_stop_cpus_work()
411 work->arg = arg; in queue_stop_cpus_work()
412 work->done = done; in queue_stop_cpus_work()
413 work->caller = _RET_IP_; in queue_stop_cpus_work()
414 if (cpu_stop_queue_work(cpu, work)) in queue_stop_cpus_work()
490 struct cpu_stop_work *work; in cpu_stopper_thread() local
493 work = NULL; in cpu_stopper_thread()
496 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
498 list_del_init(&work->list); in cpu_stopper_thread()
502 if (work) { in cpu_stopper_thread()
503 cpu_stop_fn_t fn = work->fn; in cpu_stopper_thread()
504 void *arg = work->arg; in cpu_stopper_thread()
505 struct cpu_stop_done *done = work->done; in cpu_stopper_thread()
509 stopper->caller = work->caller; in cpu_stopper_thread()