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
88 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
89 wake_q_add(wakeq, stopper->thread); in __cpu_stop_queue_work()
95 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_queue_work() local
101 raw_spin_lock_irqsave(&stopper->lock, flags); in cpu_stop_queue_work()
102 enabled = stopper->enabled; in cpu_stop_queue_work()
104 __cpu_stop_queue_work(stopper, work, &wakeq); in cpu_stop_queue_work()
107 raw_spin_unlock_irqrestore(&stopper->lock, flags); in cpu_stop_queue_work()
476 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_should_run() local
480 raw_spin_lock_irqsave(&stopper->lock, flags); in cpu_stop_should_run()
481 run = !list_empty(&stopper->works); in cpu_stop_should_run()
482 raw_spin_unlock_irqrestore(&stopper->lock, flags); in cpu_stop_should_run()
488 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stopper_thread() local
493 raw_spin_lock_irq(&stopper->lock); in cpu_stopper_thread()
494 if (!list_empty(&stopper->works)) { in cpu_stopper_thread()
495 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
499 raw_spin_unlock_irq(&stopper->lock); in cpu_stopper_thread()
508 stopper->caller = work->caller; in cpu_stopper_thread()
509 stopper->fn = fn; in cpu_stopper_thread()
518 stopper->fn = NULL; in cpu_stopper_thread()
519 stopper->caller = 0; in cpu_stopper_thread()
528 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in stop_machine_park() local
534 stopper->enabled = false; in stop_machine_park()
535 kthread_park(stopper->thread); in stop_machine_park()
545 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_park() local
547 WARN_ON(!list_empty(&stopper->works)); in cpu_stop_park()
552 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in stop_machine_unpark() local
554 stopper->enabled = true; in stop_machine_unpark()
555 kthread_unpark(stopper->thread); in stop_machine_unpark()
573 struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu); in cpu_stop_init() local
575 raw_spin_lock_init(&stopper->lock); in cpu_stop_init()
576 INIT_LIST_HEAD(&stopper->works); in cpu_stop_init()