refill_fl(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… refill_fl(9) β€” the Kernel API Manual glow-up πŸ¦‹

okay so bestie, welcome to refill_fl(9) from the Kernel API Manual β€” yes the manual name is literally part of the vibe, we're keeping it. this is the page about refilling an SGE RX buffer ring and honestly? it's giving maintenance-core and we're obsessed πŸ’–


✨ NAME ✨

refill_fl β€” refill an SGE RX buffer ring πŸŽ€


✨ SYNOPSIS ✨

unsigned int refill_fl (struct adapter *adapter , struct sge_fl *fl ,
int n , gfp_t gfp );

✨ ARGUMENTS ✨

  • adapter β€” the adapter, the main character of this whole situation πŸ‘‘
  • fl β€” the Free List ring we're refilling, like restocking the snack drawer but for packets πŸ“
  • n β€” how many new buffers we're allocating, no cap 🫢
  • gfp β€” the gfp flags for the allocations, iykyk 🌸

✨ DESCRIPTION ✨

so what this does is (re)populate an SGE free-buffer queue with up to n new packet buffers, allocated using the supplied gfp flags. literally feeding the ring, iconic behavior πŸ’…

⚠️ okay important caveat bestie: the caller must assure that n does not exceed the queue's capacity β€” i.e. (cidx == pidx) _IN EGRESS QUEUE UNITS_ indicates an empty Free List! like, that's the vibe check you gotta pass before calling, fr fr 😭

it returns the number of buffers allocated. and if afterwards the queue is found critically low, it marks it as starving in the bitmap of starving FLs β€” dramatic but valid πŸ’€


✨ SEE ALSO ✨

Kernel file ./drivers/net/ethernet/chelsio/cxgb4vf/sge.c β€” the source, the mothership 🧚

and the whole friend group 🌈:


and that's the page bestie, go refill some rings responsibly πŸ¦‹βœ¨

so like, this came from ./drivers/net/ethernet/chelsio... and it's dated October 2026, periodt πŸ’œ

πŸ“¦ where this page comes from