flush_smp_c...nction_queue(9)
π flush_smp_c...nction_queue(9) π
okay bestie, welcome to the Kernel API Manual β this one's short but lowkey iconic, so buckle up π
β¨ NAME β¨
flush_smp_call_function_queue β flush pending smp-call-function callbacks from task context (idle, migration thread) π¦
πΈ SYNOPSIS πΈ
void flush_smp_call_function_queue (void );
π ARGUMENTS π
voidβ no arguments, bestie. literally none. it takes nothing and it needs nothing π«Ά
π DESCRIPTION π
so here's the vibe. when TIF_POLLING_NRFLAG is supported and a CPU is in idle and has that flag set, then remote CPUs can skip sending IPIs entirely and instead just wake the idle CPU by setting TIF_NEED_RESCHED. slay, no IPI needed π
the idle task on that woken-up CPU, though? it has to handle the queued SMP function calls before it gets to scheduling. not optional. main character responsibility β¨
and the migration thread has to make sure that an eventually pending wakeup has been handled before it migrates a task. like, do the vibe check first, then migrate π₯
π SEE ALSO π
- Kernel file
./kernel/smp.c csd_lock_is_stuck(9)generic_smp_call_function_single_interrupt(9)__flush_smp_call_function_queue(9)smp_call_function_single(9)smp_call_function_single_async(9)smp_call_function_any(9)smp_call_function_many(9)smp_call_function(9)on_each_cpu_cond_mask(9)kick_all_cpus_sync(9)wake_up_all_idle_cpus(9)cpus_peek_for_pending_ipi(9)struct smp_call_on_cpu_struct(9)smp_call_on_cpu(9)
okay that's the whole page, no cap π it's a short one but she ate π
sign-off time, bestie: this iconic little doc lives under ./kernel, dated October 2026, and it's titled flush_smp_c...nction_queue(9) β go forth and flush those queues π§ββοΈβπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms