libie_ctlq_xn_push_free(9)
π
libie_ctlq_xn_push_free β kernel API manual, but make it make sense
okay so bestie, welcome to the libie_ctlq_xn_push_free(9) page π this is from the Kernel API Manual, and honestly? it's a little one-trick pony but she does her trick flawlessly.
β¨ NAME β¨
libie_ctlq_xn_push_free β push a Xn entry into the free list π«Ά
like, that's it. that's the whole job. she takes a used Xn entry and puts it back where the free ones live.
β¨ SYNOPSIS β¨
void libie_ctlq_xn_push_free (struct libie_ctlq_xn_manager *xnm , struct
libie_ctlq_xn *xn );
no return value (it's void, she gives nothing back and expects nothing in return, main character energy π), two args, that's the vibe.
β¨ ARGUMENTS β¨
xnmβ the Xn transaction manager π this is the boss of the whole operation.xnβ the xn entry to be added into the free list, not locked π₯ this is your little used-up entry that's about to get recycled.
bestie please clock the "not locked" note β it's right there in the arg description, don't come for me π
β¨ DESCRIPTION β¨
Safely add a used Xn entry back to the free list β¨ that's the whole plot. she does it safely, so you don't have to sit there clutching your keyboard wondering if you're about to corrupt something. ngl, "safely" is doing a lot of heavy lifting in that sentence and she's earned it π
β¨ SEE ALSO β¨
okay this is the part where the manpage shows off her entire friend group π¦ literally the whole controlq extended universe. no cap, here's everyone:
Kernel file ./drivers/net/ethernet/intel/libie/controlq.clibie_ctlq_free_fq(9)libie_ctlq_init_fq(9)libie_ctlq_prep_rx_desc(9)libie_ctlq_post_rx_buffs(9)libie_ctlq_free_tx_msgs(9)libie_ctlq_alloc_tx_msgs(9)libie_cp_free_desc_mem(9)libie_ctlq_dealloc_ring_res(9)libie_cp_alloc_desc_mem(9)libie_ctlq_alloc_queue_res(9)libie_ctlq_init_regs(9)libie_find_ctlq(9)libie_ctlq_add(9)libie_ctlq_remove(9)libie_ctlq_init(9)libie_ctlq_deinit(9)libie_ctlq_tx_desc_from_msg(9)libie_ctlq_send_desc_avail(9)libie_ctlq_send(9)libie_ctlq_send_clean(9)libie_ctlq_fill_rx_msg(9)libie_ctlq_recv(9)libie_ctlq_xn_pop_free(9)__libie_ctlq_xn_push_free(9)libie_ctlq_xn_deinit_dma(9)libie_ctlq_xn_init_dma(9)libie_ctlq_xn_process_recv(9)libie_xn_check_async_timeout(9)libie_ctlq_xn_recv(9)libie_cp_map_dma_mem(9)libie_cp_unmap_dma_mem(9)libie_ctlq_xn_process_send(9)libie_ctlq_xn_send(9)struct libie_ctlq_xn_rel_tx_ctx(9)libie_ctlq_xn_rel_tx_buf(9)libie_ctlq_xn_send_clean(9)libie_ctlq_xn_shutdown(9)libie_ctlq_xn_deinit(9)libie_ctlq_xn_init(9)
(yes, struct libie_ctlq_xn_rel_tx_ctx(9) is listed with the struct prefix and the rest aren't β I don't make the rules, I just report them exactly, character for character π)
anyway bestie, this glorious little page lives at ./drivers/net/ethernet/intel/l... (truncated like that, on purpose, on the original page π) and it's dated October 2026 π so go forth, push your Xn into the free list, and slay πβ¨π¦
π¦ 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