xas_next_marked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xas_next_marked β€” like, the Kernel API Manual page for it

okay bestie so picture this: you're deep in xarray territory, and this little inline function is literally your tour guide. it's xas_next_marked(9) and it's here to move your iterator along to the next entry that's actually marked. slay.


✨ SYNOPSIS ✨

void * xas_next_marked (struct xa_state *xas , unsigned long max ,
       xa_mark_t mark );

yes queen, that's the whole signature, no cap πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • xas β€” the XArray operation state, aka the little status blob that knows where you are. main character energy fr.
  • max β€” the highest index you're willing to return. think of it as your hard boundary. do not cross it, bestie 🚧
  • mark β€” which mark you're searching for. you pick the vibe, it finds the entry πŸ¦‹

πŸ’– DESCRIPTION πŸ’–

xas_next_marked is an inline function, and its whole personality is speed β€” it exists to optimise xarray traversal. it's highkey equivalent to calling xas_find_marked, and ngl, for all the hard cases it will literally call xas_find_marked for you. so like… it's the fast lane and the safety net in one 🫢


⭐ RETURN ⭐

it returns the next marked entry after the one xas is currently referring to. that's it, that's the girl πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/xarray.h β€” and honestly the whole xarray friend group is here, so let's do a roll call 🎀

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_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_for_each(9), xas_for_each_marked(9), xas_for_each_conflict(9), xas_prev(9), xas_next(9) πŸ¦‹

like, the entire extended family showed up. iconic.


that's the whole page, diva ✨ this one lives under ./include/linux and it's dated October 2026 β€” so like, future girlie behaviour, we love to see it. mwah πŸ’œπŸŽ€

πŸ“¦ where this page comes from