irqentry_exi...fter_preempt(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ irqentry_exi...fter_preempt πŸ’… (Kernel API Manual, section 9)

okay so bestie, buckle up, because this one is a long name and a short function but she is lowkey iconic πŸŽ€


🌸 NAME 🌸

irqentry_exit_to_kernel_mode_after_preempt β€” establishes trace, lockdep and RCU state. that's it, that's the whole vibe ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

void irqentry_exit_to_kernel_mode_after_preempt (struct pt_regs *regs ,
       irqentry_state_t state );

like yes she returns void, she's not here to give you answers, she's here to fix up state 😌


πŸ’– ARGUMENTS πŸ’–

  • regs β€” pointer to current's pt_regs. the receipts, basically 🧾
  • state β€” the return value from the matching call to irqentry_enter_from_kernel_mode. so like, you keep that lil souvenir and hand it back here, no cap 🫢

πŸ”₯ DESCRIPTION πŸ”₯

okay so the timing here is everything πŸ’… this one is to be invoked after irqentry_exit_to_kernel_mode_preempt and before you actually return to the interrupted context. the way that ordering matters. do not freestyle it. 🚨

there are no requirements for the CPU state, other than being able to complete the tracing, lockdep and RCU state transitions. that's the whole bar. that's the vibe check. ✨

and then: after this function returns, the caller must return directly to the interrupted context. like, no detours, no side quests, no "ooh let me just do one more thing". go straight home πŸƒβ€β™€οΈπŸ’¨

πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./include/linux/irq-entry-common.h β€” go read her, she's the main character of this whole story πŸ“–

like, that's the whole friend group right there πŸ«‚ literally the group chat 🧚


so yeah, that's the teardown. she's from ./include/linux, she's dated October 2026, and she's filed under the Kernel API Manual, section 9. slay, ate, periodt. see you at the next interrupt πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from