irq_update_affinity_desc(9)
π irq_update_affinity_desc β the Kernel API Manual, bestie edition β¨
okay so picture this: you're deep in the Linux kernel, poking at interrupts, and you need to change how affinity is managed for one that's already been allocated. That's this guy. Welcome to irq_update_affinity_desc(9), from the Kernel API Manual. Buckle up π
β¨ NAME β¨
irq_update_affinity_desc β Update affinity management for an interrupt
πΈ SYNOPSIS πΈ
int irq_update_affinity_desc (unsigned int irq , struct
irq_affinity_desc *affinity );
π¦ ARGUMENTS π¦
irqβ The interrupt number to update. this is the one you're messing with, so likeβ¦ know which one it is fr πaffinityβ Pointer to the affinity descriptor. the receipts, basically.
π DESCRIPTION π
This interface can be used to configure the affinity management of interrupts which have been allocated already. Like, they're already out here living their life, and you're updating their vibe check. π«Ά
But ngl, there are certain limitations on when it may be used. Read these carefully, bestie, because it's giving "boundaries" and we respect boundaries:
- attempts to use it for when the kernel is configured for generic IRQ reservation mode (in config
GENERIC_IRQ_RESERVATION_MODE) will fail, as it may conflict with managed/non-managed interrupt accounting. no cap, it just won't go through π - in addition, attempts to use it on an interrupt which is already started or which has already been configured as managed will also fail, as these mean invalid init state or double init. double init is so not the move π
so yeah: already started = no. already managed = no. reservation mode = no. everything else? go off π₯
π SEE ALSO π
Kernel file ./kernel/irq/manage.c plus this whole squad right here, in order, no skipping (i don't make the rules, i just list them):
synchronize_hardirq(9)synchronize_irq(9)irq_can_set_affinity(9)irq_can_set_affinity_usr(9)irq_set_thread_affinity(9)irq_affinity_schedule_notify_work(9)irq_set_affinity(9)irq_force_affinity(9)irq_set_affinity_notifier(9)irq_set_vcpu_affinity(9)disable_irq_nosync(9)disable_irq(9)disable_hardirq(9)disable_nmi_nosync(9)enable_irq(9)enable_nmi(9)irq_set_irq_wake(9)irq_wake_thread(9)free_irq(9)request_threaded_irq(9)request_any_context_irq(9)request_nmi(9)irq_percpu_is_enabled(9)free_percpu_irq(9)request_percpu_irq_affinity(9)request_percpu_nmi(9)prepare_percpu_nmi(9)teardown_percpu_nmi(9)irq_get_irqchip_state(9)irq_set_irqchip_state(9)irq_has_action(9)irq_check_status_bit(9)
and that's the page, bestie π§ this little number lives in ./kernel/irq and it's stamped October 2026 β go forth and update those affinity descriptors responsibly, 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