libeth_xdpsq_run_timer(9)
Okay okay, welcome to the libeth_xdpsq_run_timer(9) page in the Kernel API Manual β yes bestie, we're doing kernel lore today and it's lowkey iconic. π
πΈ NAME πΈ
libeth_xdpsq_run_timer β a wrapper to run a queue clean-up on a timer event. That's the whole assignment, no cap. πβ¨
β¨ SYNOPSIS β¨
Bestie, here's the signature and we are not changing a single character of it:
void libeth_xdpsq_run_timer (struct work_struct *work , u32 (*poll)(void
*xdpsq, u32 budget) );
π ARGUMENTS π
workβ the workqueue belonging to the corresponding timer. It's giving "timer's work bestie," fr. π«Άpollβ the driver-specific completion queue poll function. Very demure, very driver-specific. π
π¦ DESCRIPTION π¦
Okay so what this actually does: it runs the polling function on the locked queue and requeues the timer if there's more work to do. Periodt. ππ₯
It's designed to be used via LIBETH_XDP_DEFINE_TIMER below. Yes, "below" is the original's word and we're keeping that fact exactly where it lives. π
π SEE ALSO π
The cross-ref list is giving "my mutuals" and it is LONG, so buckle up. Kernel file: ./include/net/libeth/xdp.h β and then every single one of these, no skipping, no merging, no pretending we didn't see them:
struct libeth_xdp_buff(9)__LIBETH_XDP_ONSTACK_BUFF(9)LIBETH_XDP_ONSTACK_BUFF(9)libeth_xdpsq_num(9)libeth_xdpsq_shared(9)libeth_xdpsq_id(9)libeth_xdpsq_get(9)libeth_xdpsq_put(9)libeth_xdpsq_lock(9)libeth_xdpsq_unlock(9)libeth_xdpsq_deinit_timer(9)libeth_xdpsq_queue_timer(9)enum (anonymous)(9)enum (anonymous)(9)β yes bestie, it's listed twice, we don't make the rules πstruct libeth_xdp_tx_frame(9)struct libeth_xdp_tx_bulk(9)LIBETH_XDP_ONSTACK_BULK(9)struct libeth_xdpsq(9)struct libeth_xdp_tx_desc(9)libeth_xdp_ptr_to_priv(9)libeth_xdp_priv_to_ptr(9)libeth_xdp_tx_xmit_bulk(9)libeth_xdp_tx_queue_head(9)libeth_xdp_tx_queue_frag(9)libeth_xdp_tx_queue_bulk(9)libeth_xdp_tx_fill_stats(9)libeth_xdp_tx_fill_buf(9)__libeth_xdp_tx_flush_bulk(9)libeth_xdp_tx_flush_bulk(9)libeth_xdp_xmit_init_bulk(9)libeth_xdp_xmit_frame_dma(9)libeth_xdp_xmit_queue_head(9)libeth_xdp_xmit_queue_frag(9)libeth_xdp_xmit_queue_bulk(9)libeth_xdp_xmit_fill_buf(9)libeth_xdp_xmit_flush_bulk(9)__libeth_xdp_xmit_do_bulk(9)libeth_xdp_xmit_do_bulk(9)libeth_xdp_tx_init_bulk(9)libeth_xdp_init_buff(9)libeth_xdp_save_buff(9)libeth_xdp_return_stash(9)libeth_xdp_return_buff(9)libeth_xdp_prepare_buff(9)libeth_xdp_process_buff(9)libeth_xdp_buff_stats_frags(9)__libeth_xdp_run_prog(9)__libeth_xdp_run_flush(9)libeth_xdp_run_prog(9)__libeth_xdp_run_pass(9)libeth_xdp_run_pass(9)libeth_xdp_finalize_rx(9)LIBETH_XDP_DEFINE_TIMER(9)LIBETH_XDP_DEFINE_FLUSH_TX(9)LIBETH_XDP_DEFINE_FLUSH_XMIT(9)LIBETH_XDP_DEFINE_RUN_PROG(9)LIBETH_XDP_DEFINE_RUN_PASS(9)LIBETH_XDP_DEFINE_RUN(9)LIBETH_XDP_DEFINE_FINALIZE(9)libeth_xdp_buff_to_rq(9)libeth_xdpmo_rx_hash(9)__libeth_xdp_complete_tx(9)libeth_xdp_set_features(9)libeth_xdp_set_features_noredir(9)
Cute sign-off time, bestie π
β¨: source/version is ./include/net/libeth, date is October 2026, and the page is libeth_xdpsq_run_timer(9) β we are so out. π«Άπ
π¦ 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