STRUCT IRQ_COMMON_DATA(9)
π struct irq_common_data(9) β Kernel API Manual, bestie edition
okay so picture this: it's giving kernel internals, it's giving shared data, and it lives in the Kernel API Manual. we're talking struct irq_common_data β the per irq data that every single irqchip gets to share. no cap, it's a communal vibe. π«Ά
β¨ NAME β¨
struct irq_common_data β per irq data shared by all irqchips πΈ
π SYNOPSIS π
struct irq_common_data {
unsigned int state_use_accessors;
#ifdef CONFIG_NUMA;
unsigned int node;
#endif;
void *handler_data;
struct msi_desc *msi_desc;
#ifdef CONFIG_SMP;
cpumask_var_t affinity;
#endif;
#ifdef CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK;
cpumask_var_t effective_affinity;
#endif;
#ifdef CONFIG_GENERIC_IRQ_IPI;
unsigned int ipi_offset;
#endif;
};
like yes, those #ifdefs are real and you cannot just pretend they aren't there, the struct literally changes shape depending on your config. main character energy fr fr. β¨
π Members π
state_use_accessorsβ status information for irq chip functions. do NOT touch it directly, use the accessor functions to deal with it, ok? it's literally in the name bestie πnodeβ node index, useful for balancing βοΈhandler_dataβ per-IRQ data for theirq_chipmethodsmsi_descβ MSI descriptoraffinityβ IRQ affinity on SMP. and here's the cute part: if this is an IPI related irq, then this is the mask of the CPUs to which an IPI can be sent π¨effective_affinityβ the effective IRQ affinity on SMP, because some irq chips do not allow multi CPU destinations. it's a subset ofaffinity. iykyk π¦ipi_offsetβ offset of first IPI target cpu inaffinity. optional π
π₯ SEE ALSO π₯
- Kernel file
./include/linux/irq.hβ that's the home base, go read it struct irq_data(9)struct irq_chip(9)struct irq_chip_regs(9)struct irq_chip_type(9)struct irq_chip_generic(9)enum irq_gc_flags(9)struct irq_domain_chip_generic_info(9)
like, the whole friend group honestly ππ
okay that's the whole page, go slay your irq game π§ and remember: this icon was brought to you by ./include/linux, dated October 2026. periodt. πβ¨
π¦ 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