Lines Matching refs:pending
2318 struct set_affinity_pending *pending; member
2364 struct set_affinity_pending *pending = arg->pending; in migration_cpu_stop() local
2389 WARN_ON_ONCE(pending && pending != p->migration_pending); in migration_cpu_stop()
2400 if (pending) { in migration_cpu_stop()
2420 } else if (pending) { in migration_cpu_stop()
2446 WARN_ON_ONCE(!pending->stop_pending); in migration_cpu_stop()
2450 &pending->arg, &pending->stop_work); in migration_cpu_stop()
2455 if (pending) in migration_cpu_stop()
2456 pending->stop_pending = false; in migration_cpu_stop()
2460 complete_all(&pending->done); in migration_cpu_stop()
2710 struct set_affinity_pending my_pending = { }, *pending = NULL; in affine_move_task() local
2727 pending = p->migration_pending; in affine_move_task()
2728 if (pending && !pending->stop_pending) { in affine_move_task()
2742 complete_all(&pending->done); in affine_move_task()
2756 .pending = &my_pending, in affine_move_task()
2761 pending = p->migration_pending; in affine_move_task()
2762 refcount_inc(&pending->refs); in affine_move_task()
2771 pending->arg.dest_cpu = dest_cpu; in affine_move_task()
2774 pending = p->migration_pending; in affine_move_task()
2787 if (WARN_ON_ONCE(!pending)) { in affine_move_task()
2798 stop_pending = pending->stop_pending; in affine_move_task()
2800 pending->stop_pending = true; in affine_move_task()
2809 &pending->arg, &pending->stop_work); in affine_move_task()
2821 if (!pending->stop_pending) { in affine_move_task()
2829 complete_all(&pending->done); in affine_move_task()
2832 wait_for_completion(&pending->done); in affine_move_task()
2834 if (refcount_dec_and_test(&pending->refs)) in affine_move_task()
2835 wake_up_var(&pending->refs); /* No UaF, just an address */ in affine_move_task()