libeth_xdpsq_init_timer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 is void (*poll)(struct work_struct *work) β€” note that struct work_struct *work parameter, 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 🌈

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