__flush_smp...nction_queue(9)
π
__flush_smp_call_function_queue β Kernel API Manual (9)
okay so bestie, welcome to the kernel API manual, section 9, and today's main character is __flush_smp_call_function_queue. yes it's a long name. yes it ate. let's get into it π«Ά
β¨ NAME β¨
__flush_smp_call_function_queue β literally just flushes any pending smp-call-function callbacks. that's the whole job. she does one thing and she does it well π
π SYNOPSIS π
void __flush_smp_call_function_queue (bool warn_cpu_offline );
πΈ ARGUMENTS πΈ
warn_cpu_offlineβ if you set this to'true', she'll warn you when callbacks were queued on an offline CPU π (yes, that's a whole situation). if you set it to'false', she skips that check entirely. ur choice bestie, but choose wisely β¨
π₯ DESCRIPTION π₯
okay so the vibe: this function flushes any pending smp-call-function callbacks that are queued on this CPU. that's it. that's the mission π
who calls her? the generic IPI handler does, and also a CPU that's about to go offline β because we need all pending IPI callbacks to actually run before that CPU dips out completely. no leaving homework unfinished, no cap π
the way she works: she loops through the call_single_queue and runs every single queued callback. all of them. no skips, no stragglers π
β οΈ okay important!! she must be called with interrupts disabled. not "should", not "ideally" β must. consider that a vibe check you cannot fail π
π¦ SEE ALSO π¦
kernel file ./kernel/smp.c (that's her home base π ), plus all these iconic siblings and neighbors:
csd_lock_is_stuck(9)generic_smp_call_function_single_interrupt(9)flush_smp_call_function_queue(9)β yes, the one without the leading underscores, she's different, iykyksmp_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)
π that's the whole page bestie, go flush some callbacks (interrupts disabled, remember!!) ππ
kisses, this was served fresh from ./kernel, dated October 2026 β kernel API manual, section 9, signing off π§β¨π
π¦ 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