t3_sge_alloc_qset(9)
β¨ t3_sge_alloc_qset(9) β¨
okay so this is a page from the Kernel API Manual and honestly? it's giving "let's build a queue set from scratch" energy and i am obsessed π«Ά
π NAME π
t3_sge_alloc_qset β initialize an SGE queue set β¨
π SYNOPSIS π
int t3_sge_alloc_qset (struct adapter *adapter , unsigned int id , int
nports , int irq_vec_idx , const struct qset_params *p , int ntxq ,
struct net_device *dev , struct netdev_queue *netdevq );
like... look at all those parameters bestie, she's got RANGE π
πΈ ARGUMENTS πΈ
adapterβ the adapter πidβ the queue set idnportsβ how many Ethernet ports will be using this queue set π―ββοΈirq_vec_idxβ the IRQ vector index for response queue interrupts β‘pβ configuration parameters for this queue setntxqβ number of Tx queues for the queue setdevβ net device associated with this queue setnetdevqβ net device TX queue associated with this queue set
π¦ DESCRIPTION π¦
So what this function does is allocate resources and initialize an SGE queue set. no cap, that's the whole vibe. π₯
And a queue set?? bestie let me tell you what's inside one, because it's lowkey a whole squad:
- a response queue π
- two Rx free-buffer queues ππ
- and up to 3 Tx queues π
and the Tx queues get their roles assigned in this exact order: Ethernet queue, then offload queue, then control queue. like a little lineup. iconic behavior honestly. π
π SEE ALSO π
the kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c is where all of this lives, and here's the full bestie roster β fr fr, every single one:
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)calc_tx_descs(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_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)
π that's the whole page bestie. go forth and allocate. π§
and finally, the cute lil sign-off: this one comes from ./drivers/net/ethernet/chelsio... and is dated October 2026 β mwah, 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