xa_reserve_irq(9)
π xa_reserve_irq(9) β the Kernel API Manual, bestie edition π
okay so bestie, welcome to xa_reserve_irq(9) from the Kernel API Manual β¨ this one's short and sweet and honestly it's giving "small function, big responsibilities" energy. sit down, grab a π, let's go.
β¨ NAME β¨
xa_reserve_irq β Reserve this index in the XArray. That's it, that's the whole vibe. You're calling dibs on a slot. π
πΈ SYNOPSIS πΈ
int xa_reserve_irq (struct xarray *xa , unsigned long index , gfp_t gfp
);
three args, one int coming back at you. no cap. π
π ARGUMENTS π
xaβ the XArray itself. the main character. the whole point. π«Άindexβ Index into array. literally which slot you're claiming, bestie.gfpβ Memory allocation flags. the little knobs that tell the kernel how it's allowed to go get memory for you. π§
π DESCRIPTION π
so here's the tea: this is an interrupt-disabling version of xa_reserve. that's the entire description and honestly it ate. π₯
like, same reservation behaviour as xa_reserve, but with the interrupt-disabling flavour. ikyk.
π CONTEXT π
Process context. π
Takes and releases the xa_lock while disabling interrupts. so yes β it grabs the lock, it does the thing, it lets go, and interrupts are off during that window. that's the whole situation, no surprises, periodt. π
β RETURN β
0if the reservation succeeded β¨ slay, you got your index-ENOMEMif it failed π the memory said no
π¦ SEE ALSO π¦
Kernel file ./include/linux/xarray.h β that's where this all lives, bestie. and oh girl, the friend group is LARGE. every single one of these:
xa_mk_value(9),xa_to_value(9),xa_is_value(9),xa_tag_pointer(9),xa_untag_pointer(9),xa_pointer_tag(9),xa_is_zero(9),xa_is_err(9),xa_err(9)struct xa_limit(9),struct xarray(9)DEFINE_XARRAY_FLAGS(9),DEFINE_XARRAY(9),DEFINE_XARRAY_ALLOC(9),DEFINE_XARRAY_ALLOC1(9)xa_init_flags(9),xa_init(9),xa_empty(9),xa_marked(9)xa_for_each_range(9),xa_for_each_start(9),xa_for_each(9),xa_for_each_marked(9)xa_store_bh(9),xa_store_irq(9),xa_erase_bh(9),xa_erase_irq(9)xa_cmpxchg(9),xa_cmpxchg_bh(9),xa_cmpxchg_irq(9)xa_insert(9),xa_insert_bh(9),xa_insert_irq(9)xa_alloc(9),xa_alloc_bh(9),xa_alloc_irq(9),xa_alloc_cyclic(9),xa_alloc_cyclic_bh(9),xa_alloc_cyclic_irq(9)xa_reserve(9),xa_reserve_bh(9),xa_release(9)xa_is_sibling(9),xa_is_retry(9),xa_is_advanced(9),xa_update_node_t(9)XA_STATE(9),XA_STATE_ORDER(9)xas_error(9),xas_set_err(9),xas_invalid(9),xas_valid(9),xas_is_node(9)xas_reset(9),xas_retry(9),xas_reload(9),xas_set(9),xas_advance(9),xas_set_order(9),xas_set_update(9)xas_next_entry(9),xas_next_marked(9),xas_for_each(9),xas_for_each_marked(9),xas_for_each_conflict(9),xas_prev(9),xas_next(9)
ngl bestie, if you're touching this you should probably also know your way around xa_reserve(9) β this is just the interrupt-disabling remix. π§
and that's the page!! π big mwah to the source at ./include/linux, dated October 2026, from your girl xa_reserve_irq(9) β go reserve that index, you absolute icon π
πβ¨
π¦ 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