Lines Matching refs:stopper

58 	struct cpu_stopper *stopper = per_cpu_ptr(&cpu_stopper, task_cpu(task));  in print_stop_info()  local
60 if (task != stopper->thread) in print_stop_info()
63 printk("%sStopper: %pS <- %pS\n", log_lvl, stopper->fn, (void *)stopper->caller); in print_stop_info()
84 static void __cpu_stop_queue_work(struct cpu_stopper *stopper, in __cpu_stop_queue_work() argument
87 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
93 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_queue_work() local
98 raw_spin_lock_irqsave(&stopper->lock, flags); in cpu_stop_queue_work()
99 enabled = stopper->enabled; in cpu_stop_queue_work()
101 __cpu_stop_queue_work(stopper, work); in cpu_stop_queue_work()
104 raw_spin_unlock_irqrestore(&stopper->lock, flags); in cpu_stop_queue_work()
107 wake_up_process(stopper->thread); in cpu_stop_queue_work()
477 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_should_run() local
481 raw_spin_lock_irqsave(&stopper->lock, flags); in cpu_stop_should_run()
482 run = !list_empty(&stopper->works); in cpu_stop_should_run()
483 raw_spin_unlock_irqrestore(&stopper->lock, flags); in cpu_stop_should_run()
489 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stopper_thread() local
494 raw_spin_lock_irq(&stopper->lock); in cpu_stopper_thread()
495 if (!list_empty(&stopper->works)) { in cpu_stopper_thread()
496 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
500 raw_spin_unlock_irq(&stopper->lock); in cpu_stopper_thread()
509 stopper->caller = work->caller; in cpu_stopper_thread()
510 stopper->fn = fn; in cpu_stopper_thread()
519 stopper->fn = NULL; in cpu_stopper_thread()
520 stopper->caller = 0; in cpu_stopper_thread()
529 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in stop_machine_park() local
535 stopper->enabled = false; in stop_machine_park()
536 kthread_park(stopper->thread); in stop_machine_park()
546 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_park() local
548 WARN_ON(!list_empty(&stopper->works)); in cpu_stop_park()
553 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in stop_machine_unpark() local
555 stopper->enabled = true; in stop_machine_unpark()
556 kthread_unpark(stopper->thread); in stop_machine_unpark()
574 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_init() local
576 raw_spin_lock_init(&stopper->lock); in cpu_stop_init()
577 INIT_LIST_HEAD(&stopper->works); in cpu_stop_init()