get_buf_addr(9)
π get_buf_addr β kernel API manual, but make it make sense
okay so bestie, welcome to get_buf_addr(9) β yes that's the section 9, kernel API manual energy, we're in the kernel internals now and honestly? iconic of you to show up. π
β¨ NAME β¨
get_buf_addr β returns the DMA buffer address of a software descriptor. that's the whole gig. she's a getter. she gets. periodt. π
πΈ SYNOPSIS πΈ
dma_addr_t get_buf_addr (const struct rx_sw_desc *sdesc );
like literally one argument, one return value, no drama. she's low maintenance. π¦
π«Ά ARGUMENTS π«Ά
sdescβ pointer to the software buffer descriptor. that's the lil struct you're handing over so she can do her thing π
π₯ DESCRIPTION π₯
so what she actually does: she returns the DMA buffer address of a software descriptor β and the important part, the part you cannot skip, is that she's stripping out our low-order flag bits while doing it. π§
like, the address is in there, but it's got flags chilling in the low bits, and she's the one who knows how to separate the address from the gossip. no cap, that's the whole function. β¨
π SEE ALSO π
first up, the source file herself:
- Kernel file
./drivers/net/ethernet/chelsio/cxgb4vf/sge.c
and then the entire extended friend group β every single one of these, in order, because we don't do "etc." in this house:
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),refill_fl(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)
that's the whole group chat and they all ate. π
ngl bestie, this one's short and sweet β but the low-order flag bits thing is the whole personality, so don't forget it. π
okay that's the page!! this gem lives in ./drivers/net/ethernet/chelsio/cxgb4vf/sge.c and the date on it is October 2026 β a whole month, a whole vibe. mwah, go read is_buf_mapped(9) next, ily ππβ
π¦ 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