nfp_nfd3_tx_ring_stop(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nfp_nfd3_tx_ring_stop(9)

okay so this is a page straight out of the Kernel API Manual, bestie, and it's about one very specific little job: stopping a TX ring. she's short, she's sweet, she's doing the most in like six lines. let's get into it πŸŽ€


✨ NAME ✨

nfp_nfd3_tx_ring_stop β€” stop tx ring. that's it. that's the whole vibe. no cap, the name is literally the plot πŸ¦‹


✨ SYNOPSIS ✨

void nfp_nfd3_tx_ring_stop (struct netdev_queue *nd_q , struct
nfp_net_tx_ring *tx_ring );

returns nothing (void, she gives nothing and takes nothing πŸ’…), takes two args, and yes you gotta pass both. periodt.


✨ ARGUMENTS ✨

  • nd_q β€” netdev queue. the network-device queue in question, main character of the netdev world 🌸
  • tx_ring β€” driver tx queue structure. the driver-side TX queue struct, aka the actual ring we're here to shut down πŸ‘‘

✨ DESCRIPTION ✨

Safely stop TX ring. πŸ”₯

and here's the part where you gotta listen, bestie, because this is the whole reason this function exists: remember that while we are running .start_xmit, someone else may be cleaning the TX ring completions. so we need to be extra careful here. 😭

like. it's giving "two people editing the same doc at the same time" energy. you're not alone in there, so no cowboy moves. be careful, be safe, be iconic 🫢

ngl this is a "concurrency is real" moment β€” the .start_xmit path can be running while someone else cleans completions, so treat the carefulness as load-bearing, not decoration.

✨ SEE ALSO ✨

Kernel file ./drivers/net/ethernet/netronome/nfp/nfd3/dp.c β€” go read the source, iykyk πŸ“–

the whole friend group fr fr πŸ’œ


and that's the page!! shoutout to the source path ./drivers/net/ethernet/netrono... (yes it's literally truncated like that, i don't make the rules πŸ™ˆ) and to October 2026 for the timestamp β€” this one's dated and slaying, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from