scx_propaga...t_irq_workfn(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ scx_propagate_exit_irq_workfn πŸ’…

okay bestie so this is a page from the Kernel API Manual, section 9 β€” yes, the big serious kernel-functions section, but we're gonna make it make sense. 🫢

It's literally the manual page for scx_propagate_exit_irq_workfn, and honestly the name is a mouthful so let's just call it "the propagate-exit irq work fn" in our heads, mwah. πŸ’–


🌸 NAME 🌸

scx_propagate_exit_irq_workfn β€” claim SCX_EXIT_PARENT on the exiting subtree. that's it, that's the whole gig. πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

void scx_propagate_exit_irq_workfn (struct irq_work *irq_work );

like, one arg, returns nothing, no cap. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • irq_work β€” this bad boy right here is scx_sched.propagate_exit_irq_work. that exact field. don't @ me. ✨

πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea, bestie. this function gets queued by scx_claim_exit after a non-PARENT claim. πŸ«– that's the context, that's where it comes from.

once it runs, it claims SCX_EXIT_PARENT on each descendant, which is giving every single one of them its own disable work. iconic behavior honestly. πŸ‘‘

and the way that works is: most of the disabling is serialized, but ops.exit can take arbitrarily long 😭 β€” like, no upper bound, it's just out here living its life β€” so running them in separate helper kthreads is what actually parallelizes it. main character scheduling energy fr fr. πŸ”₯

and the best part? no recursion, because only non-PARENT claims propagate. so it doesn't just keep going down forever like a group chat at 3am. πŸ’€


🌈 SEE ALSO 🌈

the kernel file is ./kernel/sched/ext/ext.c btw β€” that's your source of truth, go look πŸ•΅οΈβ€β™€οΈ

and here's the whole friend group, alphabetically-ish, all of them (9) pages, all of them relevant, all of them invited to the party πŸŽ‰:

like I said. whole friend group. πŸ’œ


ngl if you're reading this page you're probably already deep in ./kernel/sched/ext and there's no going back, so hydrate and open the source file, bestie πŸ“

alright that's the whole page, mwah πŸ’‹ β€” this cutie came out of ./kernel/sched/ext, dated October 2026, and it lives at scx_propaga...t_irq_workfn(9) in the Kernel API Manual (that's the truncated name, blame the column width not me πŸ™ˆ). go be iconic with your irq work. 🧚✨

πŸ“¦ where this page comes from