libie_ctlq_send_clean(9)
π
libie_ctlq_send_clean β the NAME bit β¨
okay so picture this: it's libie_ctlq_send_clean(9), from the Kernel API Manual, and she's here to clean up the send control queue message buffers. yes bestie, she does the tidying. we love a domestic icon π§Ήπ
β¨ SYNOPSIS β¨
u32 libie_ctlq_send_clean (const struct libie_ctlq_clean_params *params
);
literally just one param and she returns a u32. lowkey elegant, no cap π
π«Ά ARGUMENTS π«Ά
paramsβ the info she needs for handling of Tx completions. that's the vibe check she runs on incoming completions, bestie π
πΈ DESCRIPTION πΈ
so what she does is cleanup the send buffers for the given control queue. π§
now here's the tea: if force is set, she clears all the outstanding send messages β irrespective of their send status β and she keeps going until a zero-length message is encountered. and what is that zero-length message, you ask? it's either:
- a message that's already been cleared, or
- a VF reset message, which is always last. periodt. π₯
warning bestie: Force should be used during deinit or reset. that's the only time she's supposed to go full scorched-earth mode, okay? don't be weird about it π
π RETURN π
the number of send buffers she cleaned. that's it, that's the number. she ate and left crumbs π
π¦ SEE ALSO π¦
the kernel file is right here, go be nosy: ./drivers/net/ethernet/intel/libie/controlq.c
and here's the whole friend group, all of them, nobody left out, i would never ππ
libie_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_fill_rx_msg(9)libie_ctlq_recv(9)libie_ctlq_xn_pop_free(9)__libie_ctlq_xn_push_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)
and that's the whole page bestie!! she's sourced from ./drivers/net/ethernet/intel/l... (yeah the path is literally cut off like that in the footer, iconic of her honestly π), dated October 2026, and yes she's still living under the name libie_ctlq_send_clean(9) forever and ever, 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