refill_fl(9)
π 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 thatndoes 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 π:
get_buf_addr(9)is_buf_mapped(9)need_skb_unmap(9)txq_avail(9)fl_cap(9)fl_starving(9)map_skb(9)free_tx_desc(9)reclaim_completed_tx(9)get_buf_size(9)free_rx_bufs(9)unmap_rx_buf(9)ring_fl_db(9)set_rx_sw_desc(9)alloc_ring(9)sgl_len(9)flits_to_desc(9)is_eth_imm(9)calc_tx_flits(9)write_sgl(9)ring_tx_db(9)inline_tx_skb(9)t4vf_eth_xmit(9)copy_frags(9)t4vf_pktgl_to_skb(9)t4vf_pktgl_free(9)do_gro(9)t4vf_ethrx_handler(9)is_new_response(9)restore_rx_bufs(9)rspq_next(9)process_responses(9)napi_rx_handler(9)t4vf_intr_handler(9)sge_rx_timer_cb(9)sge_tx_timer_cb(9)bar2_address(9)t4vf_sge_alloc_rxq(9)t4vf_sge_alloc_eth_txq(9)t4vf_free_sge_resources(9)t4vf_sge_start(9)t4vf_sge_stop(9)t4vf_sge_init(9)
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
- 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