Lines Matching refs:call
209 static void free_warm_timer_call(timer_call_t call);
814 * signal other processors, which will call mp_rendezvous_action()
822 /* call executor function on this cpu */
869 * A wrapper to mp_rendezvous() to call action_func() with interrupts disabled.
886 void (*func)(void *,void *); /* routine to call */
983 * Called by each processor to add call buffers to the free list
984 * and to initialize the per-cpu call queue.
1017 mp_call_t call;
1023 /* Copy call request to the stack to free buffer */
1024 call = *callp;
1026 if (call.func != NULL) {
1030 call.func, call.arg0, call.arg1, call.countp, 0);
1031 call.func(call.arg0, call.arg1);
1034 if (call.countp != NULL)
1035 atomic_incl(call.countp, 1);
1044 * waiting for each call to be acknowledged before proceeding
1045 * ASYNC: function call is queued to the specified cpus
1051 * The return value is the number of cpus on which the call was made or queued.
1125 * Queue the call for each non-local requested cpu.
1127 * and then re-check it after taking the call lock. A cpu being taken
1137 * we defer our call until we have signalled all others.
1150 * Here to queue a call to cpu and IPI.
1241 /* call action function */
1276 * signal other processors, which will call mp_broadcast_action()
1283 /* call executor function on this cpu */
1656 timer_call_t call = NULL;
1661 call = (timer_call_t) dequeue_head(&cpu_warm_call_list);
1666 return call;
1670 free_warm_timer_call(timer_call_t call)
1676 enqueue_head(&cpu_warm_call_list, (queue_entry_t)call);
1682 * Runs in timer call context (interrupts disabled).
1709 * Not safe to call with interrupts disabled.
1716 timer_call_t call;
1731 * Grab a timer call to use.
1733 call = grab_warm_timer_call();
1734 if (call == NULL) {
1738 timer_call_setup(call, cpu_warm_timer_call_func, call);
1739 cwd.cwd_call = call;
1748 free_warm_timer_call(call);