xa_empty(9)
π xa_empty(9) β like, the Kernel API Manual page, bestie π
okay so picture this: you're deep in the kernel, you've got an XArray, and you just need to know β is there anything in here or is it giving empty? that's the whole gig of xa_empty(). she's a tiny little function from the (9) section of the Kernel API Manual and she ate, no cap β¨
β¨ NAME β¨
xa_empty β determine if an array has any present entries π«Ά
like, literally just: does this XArray have any present entries or nah? vibe check for your array π
πΈ SYNOPSIS πΈ
bool xa_empty (const struct xarray *xa );
yes that's the whole thing. one function, one argument, returns a bool. iconic behavior honestly π
π¦ ARGUMENTS π¦
xaβ the XArray. that's it. that's the argument. she's the XArray you're checking π
π CONTEXT π
Any context. literally any. no restrictions, no "sorry bestie you can't call this from an interrupt", none of that. you're free πΈ
β RETURN β
returns true if the array contains only NULL pointers π
that's the tea β it's true when only NULL pointers are in there. if there's anything actually present, you're getting false, sorry π
π SEE ALSO π
okay so this is the part where the manpage just dumps the entire XArray extended universe on you. buckle up bestie, we're going through the whole friend group π«Ά
Kernel file ./include/linux/xarray.h, plus:
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_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_reserve_irq(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)
like I said. the whole extended universe. go read them, iykyk π
ngl the fact thattruemeans "onlyNULLpointers" is the one thing people get twisted on, so don't let it catch you lacking π
that's the page babes π this little bundle of joy lives in ./include/linux and the version on this copy is dated October 2026 β go forth and vibe check those arrays πβ¨π
π¦ 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