preempt_schedule_notrace(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

preempt_schedule_notrace β€” it's preempt_schedule called by tracing, and yes bestie, that's the whole vibe πŸ’…


✨ SYNOPSIS ✨

__visible void notrace preempt_schedule_notrace (void );

πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. Not a single one, bestie. Clean. Iconic. 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so the tracing infrastructure uses preempt_enable_notrace to prevent recursion and to prevent tracing the preempt enabling caused by the tracing infrastructure itself. No cap. πŸ”₯

But here's the plot twist 😭: tracing can happen in areas coming from userspace or just about to enter userspace, so a preempt enable can occur before user_exit is called. That will cause the scheduler to be called when the system is still in usermode. It's giving "not the moment" energy, fr fr.

To prevent this, preempt_enable_notrace will use this function instead of preempt_schedule to exit user context if needed before calling the scheduler. Slay. βœ…


🌸 SEE ALSO 🌸

Kernel file ./kernel/sched/core.c:


That's the whole page, bestie 🫢 β€” source/version is ./kernel/sched, dated October 2026, and it's the preempt_schedule_notrace(9) page. periodt πŸ’…βœ¨

πŸ“¦ where this page comes from