ice_alloc_irq(9)
β¨ ice_alloc_irq β the "gimme a fresh interrupt vector" era β¨
okay so this page lives in the Kernel API Manual (section 9, kernel API things, iykyk) and honestly bestie it's a short one but it's got range π
π¦ NAME π¦
ice_alloc_irq β literally just: allocate a new interrupt vector. that's the whole vibe. it's giving "new vector, who dis" π
πΈ SYNOPSIS πΈ
struct msi_map ice_alloc_irq (struct ice_pf *pf , bool dyn_allowed );
π ARGUMENTS π
pfβ the board private structure. yes, the classic. it's thestruct ice_pf *carrying all the board-specific lore πdyn_allowedβ whether dynamic allocation of the interrupt is allowed. like, are we allowed to just freestyle a new one? this flag says yes or no π
β DESCRIPTION β
okay so the whole point: this allocates a new interrupt vector for a given owner id. it returns a struct msi_map with all the interrupt deets inside, and it tracks the allocated interrupt appropriately. main character energy, honestly β it allocates and it keeps receipts π§
here's the actual tea β: this function reserves a new irq entry from the irq_tracker. and if β according to the tracker info β all the interrupts that were allocated with ice_pci_alloc_irq_vectors are already used, and dynamically allocated interrupts are supported, then the new interrupt gets allocated with pci_msix_alloc_irq_at. slay, adaptive behavior π₯
some callers may only support dynamically allocated interrupts. that's what the dyn_allowed flag is telling you β it's the indicator, periodt π
π on failure, it returns a map with a negative .index. the caller is expected to check the returned map index. do not skip the check, bestie, that's how you get mystery bugs at 3am π
π SEE ALSO π
- kernel file:
./drivers/net/ethernet/intel/ice/ice_irq.c ice_init_irq_tracker(9)ice_deinit_irq_tracker(9)ice_free_irq_res(9)ice_get_irq_res(9)ice_clear_interrupt_scheme(9)ice_init_interrupt_scheme(9)ice_free_irq(9)ice_virt_get_irqs(9)ice_virt_free_irqs(9)
like, the whole irq friend group π«Ά go read them, they're all linked up fr fr
anyway that's the page!! this one came out of ./drivers/net/ethernet/intel/ice and it's dated October 2026 β so yeah, future-coded β stay hydrated, check your .index for negatives, and go allocate something iconic πβ¨
π¦ 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