xas_split_alloc(9)
β¨ xas_split_alloc(9) β¨
okay so this is a page straight out of the Kernel API Manual, bestie β it's xas_split_alloc(9) and honestly it's giving "backstage crew for the main character function" energy π
πΈ NAME πΈ
xas_split_alloc β allocate memory for splitting an entry, no cap π«Ά
π SYNOPSIS π
void xas_split_alloc (struct xa_state *xas , void *entry , unsigned int
order , gfp_t gfp );
like literally that's the whole signature, copy it exactly please, it's void so it doesn't hand anything back to you π
β¨ ARGUMENTS β¨
xasβ the XArray operation state. this is your little main-character struct that knows what's going on π₯entryβ the new entry that's gonna be stored in the array. the newbie arriving at the party πorderβ the current entry order. numbers, iconic, must be respected βgfpβ the memory allocation flags. aka "how down are we to sleep for this" π¦
π DESCRIPTION π
okay so listen: this function should be called before you call xas_split. not after. before. the way that timing matters here is so real π
if necessary, it will allocate new nodes β and fill them with entry β to prepare for the upcoming split. specifically, the upcoming split of an entry of order size into entries of the order stored in the xas. so it's like, pre-gaming for the split. setting up the venue before the guests arrive π
π§ CONTEXT π§
may sleep if gfp flags permit. so like, it can nap, but only if the flags say it's allowed β permission is everything bestie π
ngl, if the gfp flags don't permit sleeping, don't expect a nap. context fully matters here π
π¦ SEE ALSO π¦
bestie. there is a list. a whole list. and I'm not skipping a single one because every single one of these is part of the family π«Ά this all lives in the kernel file ./lib/xarray.c:
xas_load(9)xas_nomem(9)xas_free_nodes(9)xas_create_range(9)xas_store(9)xas_get_mark(9)xas_set_mark(9)xas_clear_mark(9)xas_init_marks(9)xas_split(9)xas_try_split_min_order(9)xas_try_split(9)xas_pause(9)xas_find(9)xas_find_marked(9)xas_find_conflict(9)xa_load(9)__xa_erase(9)xa_erase(9)__xa_store(9)xa_store(9)__xa_cmpxchg(9)__xa_insert(9)xa_store_range(9)xas_get_order(9)xa_get_order(9)__xa_alloc(9)__xa_alloc_cyclic(9)__xa_set_mark(9)__xa_clear_mark(9)xa_get_mark(9)xa_set_mark(9)xa_clear_mark(9)xa_find(9)xa_find_after(9)xa_extract(9)xa_delete_node(9)xa_destroy(9)
and that's the whole page, periodt π this one comes from the source at ./lib, dated October 2026, and it lives in the Kernel API Manual β see you in the group chat, 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