calc_tx_descs(9)
π calc_tx_descs(9) β Kernel API Manual, but make it make sense
okay so bestie, welcome to calc_tx_descs(9) from the Kernel API Manual πΈ this one is short and sweet, and honestly? it's giving "tiny function, big responsibilities" energy. let's get into it β¨
β¨ NAME β¨
calc_tx_descs β calculate the number of Tx descriptors for a packet π«
π SYNOPSIS π
unsigned int calc_tx_descs (const struct sk_buff *skb );
like, that's the whole vibe. one function, one argument, one unsigned int coming back at you π«Ά
πΈ ARGUMENTS πΈ
skbβ the packet π that's it. that's the argument. it's the packet, bestie.
π¦ DESCRIPTION π¦
so what does it actually do? it returns the number of Tx descriptors needed for the given Ethernet packet π no cap.
and here's the little detail you gotta remember: Ethernet packets require addition of WR and CPL headers. so yeah β the descriptor math has to account for that, periodt π₯
β SEE ALSO β
okay this list is long, and we are not skipping a single one of these, because every reference ate and left no crumbs π
Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c β and then, in order:
refill_rspq(9)need_skb_unmap(9)unmap_skb(9)free_tx_desc(9)reclaim_completed_tx(9)should_restart_tx(9)free_rx_bufs(9)add_one_rx_buf(9)refill_fl(9)recycle_rx_buf(9)alloc_ring(9)t3_reset_qset(9)t3_free_qset(9)init_qset_cntxt(9)sgl_len(9)flits_to_desc(9)get_packet(9)get_packet_pg(9)get_imm_packet(9)write_sgl(9)check_ring_tx_db(9)write_wr_hdr_sgl(9)write_tx_pkt_wr(9)t3_eth_xmit(9)write_imm(9)check_desc_avail(9)reclaim_completed_tx_imm(9)ctrl_xmit(9)restart_ctrlq(9)deferred_unmap_destructor(9)write_ofld_wr(9)calc_tx_descs_ofld(9)ofld_xmit(9)restart_offloadq(9)queue_set(9)is_ctrl_pkt(9)t3_offload_tx(9)offload_enqueue(9)deliver_partial_bundle(9)ofld_poll(9)rx_offload(9)restart_tx(9)cxgb3_arp_process(9)rx_eth(9)lro_add_page(9)handle_rsp_cntrl_info(9)check_ring_db(9)is_new_response(9)process_responses(9)napi_rx_handler(9)process_pure_responses(9)handle_responses(9)t3_intr_handler(9)t3_sge_err_intr_handler(9)sge_timer_tx(9)sge_timer_rx(9)t3_update_qset_coalesce(9)t3_sge_alloc_qset(9)t3_start_sge_timers(9)t3_stop_sge_timers(9)t3_free_sge_resources(9)t3_sge_start(9)t3_sge_stop_dma(9)t3_sge_stop(9)t3_sge_init(9)t3_sge_prep(9)
like I said β every. single. one. π and yes, I typed them all, because that's the assignment and we don't do half-finished over here π«Ά
okurrr that's the whole page π this icon came from ./drivers/net/ethernet/chelsio... (the full path in the SEE ALSO section is ./drivers/net/ethernet/chelsio/cxgb3/sge.c, iykyk), dated October 2026, and it's filed under calc_tx_descs(9). slay, go count those descriptors, bestie πβ¨π
π¦ 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