t4_sge_alloc_eth_txq(9)
π t4_sge_alloc_eth_txq(9) β or, "let's get this Ethernet TX Queue a whole personality"
okay so bestie, welcome to the Kernel API Manual section 9 page for t4_sge_alloc_eth_txq β yes that whole mouthful is the name, and yes you will be saying it out loud at some point, sorry in advance π
This is the function that allocates an Ethernet TX Queue, periodt. That's the whole vibe. Let's get into it.
β¨ SYNOPSIS β¨
int t4_sge_alloc_eth_txq (struct adapter *adap , struct sge_eth_txq *txq
, struct net_device *dev , struct netdev_queue *netdevq , unsigned int iqid
, u8 dbqt );
Look at that signature. Six arguments. She's highkey doing the most, but every single one of them is iconic and necessary, so we respect her π
πΈ ARGUMENTS πΈ
Six besties walk into a function. Let me introduce you:
adapβ the adapter π«Ά this is the big one, the main character of the hardware situation.txqβ the SGE Ethernet TX Queue to initialize. This is the actual thing getting set up, so likeβ¦ pay attention to her.devβ the Linux Network Device. Your classic netdev, showing up as always.netdevqβ the corresponding Linux TX Queue. Yes it's spelled almost the same as the previous one and yes that is a trap, don't mix them up bestie πiqidβ the Ingress Queue to which to deliverCIDXUpdate messages. Say it with me:CIDXUpdate messages. You're gonna want to remember which queue those go to.dbqtβ whether this TX Queue will use the SGE Doorbell Queue Timers. That's au8, it's a yes/no kinda situation, and the function is literally asking you to decide. No pressure or anything π
π₯ SEE ALSO π₯
okay this is the part where the page absolutely ate β the related-pages list is enormous and honestly kind of iconic. They all live in the kernel file ./drivers/net/ethernet/chelsio/cxgb4/sge.c, and here's every single one, no cap, nothing skipped, because we don't do that here:
txq_avail(9),fl_cap(9),fl_starving(9),deferred_unmap_destructor(9),free_tx_desc(9)reclaim_completed_tx(9),cxgb4_reclaim_completed_tx(9),free_rx_bufs(9),unmap_rx_buf(9),refill_fl(9)alloc_ring(9),sgl_len(9),flits_to_desc(9),is_eth_imm(9),calc_tx_flits(9)cxgb4_write_sgl(9),cxgb4_ring_tx_db(9),cxgb4_inline_tx_skb(9),t4_sge_eth_txq_egress_update(9)cxgb4_eth_xmit(9),t4vf_is_eth_imm(9),t4vf_calc_tx_flits(9),cxgb4_vf_eth_xmit(9)reclaim_completed_tx_imm(9),cxgb4_ethofld_send_flowc(9),is_imm(9),ctrlq_check_stop(9)ctrl_xmit(9),restart_ctrlq(9),t4_mgmt_tx(9),is_ofld_imm(9),calc_tx_flits_ofld(9)txq_stop_maperr(9),ofldtxq_stop(9),service_ofldq(9),ofld_xmit(9),restart_ofldq(9)skb_txq(9),is_ctrl_pkt(9),t4_ofld_send(9),cxgb4_ofld_send(9),ofld_xmit_direct(9)t4_crypto_send(9),cxgb4_crypto_send(9),cxgb4_pktgl_to_skb(9),t4_pktgl_free(9)cxgb4_sgetim_to_hwtstamp(9),t4_systim_to_hwstamp(9),t4_rx_hststamp(9),t4_tx_hststamp(9)t4_tx_completion_handler(9),t4_ethrx_handler(9),restore_rx_bufs(9),is_new_response(9)rspq_next(9),process_responses(9),napi_rx_handler(9),t4_intr_handler(9),bar2_address(9)t4_free_sge_resources(9),t4_sge_stop(9),t4_sge_init_soft(9),t4_sge_init(9)
That's sixty. SIXTY. She really said "I have friends" and meant it ππ
π¦ quick note bestie: everything above lives under the kernel file ./drivers/net/ethernet/chelsio/cxgb4/sge.c β that's your map if you get lost.
and that's the page!! π This lil manual came from ./drivers/net/ethernet/chelsio... and it's dated October 2026 β so mark your calendar, screenshot this, send it to the group chat, and go allocate a TX Queue like the main character you are ππ
π¦ 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