STRUCT IRQENTRY_STATE(9)
π struct irqentry_state(9) π
okay bestie, we're deep in the Kernel API Manual today and this one is likeβ¦ a little mystery box of exception state π yes, the manual name is literally struct irqentry_state(9), welcome to the vibe.
β¨ NAME β¨
struct irqentry_state β the opaque object where exception state goes to be stored π«Ά
πΈ SYNOPSIS πΈ
struct irqentry_state {
union {
bool exit_rcu;
bool lockdep;
};
};
π¦ Members π¦
{unnamed_union}β anonymous, no name, iconic behaviour honestly πexit_rcuβ used exclusively in theirqentry_*()calls; it signals whether the exit path has to invokect_irq_exit. that's its whole job, no cap.lockdepβ used exclusively in theirqentry_nmi_*()calls; it makes sure the lockdep state gets restored correctly on exit from nmi. she's got one responsibility and she ate π₯
π Description π
so here's the tea: this opaque object gets filled in by the irqentry_*_enter functions, and it must be passed back into the corresponding irqentry_*_exit functions once the exception is complete. that's the whole flow, no shortcuts π
callers of irqentry_*_[enter|exit]() must treat this structure as opaque and every single member as private. periodt. the member descriptions above are there purely to help with maintaining the irqentry_*() functions β they are not an invitation to go poking around in there, bestie π
π₯ SEE ALSO π₯
- Kernel file
./include/linux/irq-entry-common.h arch_enter_from_user_mode(9),arch_in_rcu_eqs(9)enter_from_user_mode(9),arch_exit_to_user_mode_work(9)arch_exit_to_user_mode_prepare(9),arch_exit_to_user_mode(9)arch_do_signal_or_restart(9),__exit_to_user_mode_prepare(9)syscall_exit_to_user_mode_prepare(9)irqentry_exit_to_user_mode_prepare(9),exit_to_user_mode(9)irqentry_enter_from_user_mode(9),irqentry_exit_to_user_mode(9)irqentry_enter_from_kernel_mode(9)irqentry_exit_to_kernel_mode_preempt(9)irqentry_exit_to_kernel_mode_after_preempt(9)irqentry_exit_to_kernel_mode(9),irqentry_enter(9),irqentry_exit(9)irqentry_nmi_enter(9),irqentry_nmi_exit(9)
ngl that's a whole friend group of (9) pages, go read them all π
anyway bestie, this page lives in ./include/linux, it's dated October 2026, and it's filed under struct irqentry_state(9) in the Kernel API Manual β go off, stay opaque, mwah πβ¨π
π¦ 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