libeth_xdpsq_init_timer(9)
β¨ libeth_xdpsq_init_timer β Kernel API Manual β¨
Okay bestie, gather round π you're looking at libeth_xdpsq_init_timer(9), and yes it's a kernel API manual page, but don't scroll away β this one is actually quick and honestly kind of cute. It does exactly one thing and it does it slay.
πΈ NAME πΈ
libeth_xdpsq_init_timer β get that XDPSQ clean-up timer initialized π
π¦ SYNOPSIS π¦
void libeth_xdpsq_init_timer (struct libeth_xdpsq_timer *timer , void
*xdpsq , struct libeth_xdpsq_lock *lock , void (*poll)(struct
work_struct *work) );
Four arguments, void return, no drama. Iconic behavior tbh π₯
π ARGUMENTS π
timerβ the timer you're initializing, bestie. This is the main character of the function π«xdpsqβ the queue this timer belongs to, i.e. its home base πlockβ the corresponding XDPSQ lock, so everything stays in sync πpollβ the queue polling/completion function. Type isvoid (*poll)(struct work_struct *work)β note thatstruct work_struct *workparameter, it's literally part of the signature, don't @ me π
π DESCRIPTION π
So here's the vibe: XDPSQ clean-up timers must be set up before you use them, at the queue configuration time πβ¨. That's not a suggestion, that's the rules β do it at config time or don't do it at all.
And what does this function actually do? It sets the required pointers and the cleaning callback. That's it. That's the whole thing. Assign, assign, assign, and you're out π«Ά
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/intel/libeth/xdp.cπ libeth_xdp_tx_exception(9)libeth_xdp_load_stash(9)libeth_xdp_save_stash(9)libeth_xdp_return_buff_slow(9)libeth_xdp_buff_add_frag(9)libeth_xdp_prog_exception(9)libeth_xdp_return_buff_bulk(9)libeth_xdp_queue_threshold(9)__libeth_xdp_set_features(9)libeth_xdp_set_redirect(9)
Go read the whole little libeth xdp family, they're all in ./drivers/net/ethernet/intel/libeth/xdp.c and they all ate π
ngl the whole page is like four lines of actual content, so if you got this far you basically already know everything. init your timer at config time, set your pointers, set your callback, periodt π
And that's a wrap, bestie π this page comes to you from ./drivers/net/ethernet/intel/l... β October 2026 edition, filed under libeth_xdpsq_init_timer(9). Go forth and initialize responsibly π¦β¨
π¦ 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