netdev_tx_completed_queue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ netdev_tx_completed_queue ✨

okay so this is a page from the Kernel API Manual (yes, the Kernel API Manual, we're in the big leagues bestie) and it's about one tiny function that does one tiny job, but the way it does that job is kind of iconic ngl πŸŽ€


πŸ’– NAME πŸ’–

netdev_tx_completed_queue β€” report number of packets/bytes at TX completion. that's it, that's the whole vibe ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

void netdev_tx_completed_queue (struct netdev_queue *dev_queue ,
       unsigned int pkts , unsigned int bytes );

like, look at her. three args, returns nothing, zero drama πŸ’…


🌸 ARGUMENTS 🌸

  • dev_queue β€” network device queue. the queue in question, the main character of this whole operation πŸ‘‘
  • pkts β€” number of packets. and yes, (currently ignored) β€” she's literally just there for decoration rn, no cap 😭
  • bytes β€” number of bytes dequeued from the device queue. this one actually gets used, she's the responsible one 🫢

🌈 DESCRIPTION 🌈

Okay so listen, this is the important part and I need you to hear me:

Must be called at most once per TX completion round (and not per individual packet), so that BQL can adjust its limits appropriately.

fr fr fr. once per round, NOT once per packet. if you call it per packet you're doing too much and BQL is gonna be like "girl what" and its limits won't adjust appropriately. the whole point is BQL gets to do its little adjustment thing, and it can only do that if you don't spam it. periodt πŸ’€βœ¨


⭐ SEE ALSO ⭐

this list is long long, so buckle up, bestie β€” every single one of these is part of the squad:

Kernel file ./include/linux/netdevice.h


and that's the whole page, bestie πŸ§šπŸ’œ this cutie lives in ./include/linux, dated October 2026 β€” mwah, go call her exactly once per TX completion round, ily, bye πŸ’…πŸ”₯

πŸ“¦ where this page comes from