restart_tx(9)
π restart_tx(9) β like, the Kernel API Manual, but make it make sense β¨
okay so bestie, welcome to restart_tx(9) from the Kernel API Manual π this one is short and sweet and honestly kinda iconic for it.
πΈ NAME πΈ
restart_tx β the little vibe check that asks "should we wake the suspended Tx queues back up?" π
β¨ SYNOPSIS β¨
void restart_tx (struct sge_qset *qs );
no return value, no drama, she just does the thing π
π«Ά ARGUMENTS π«Ά
qsβ the queue set to resume. like, the one you're trying to bring back online, no cap π
π DESCRIPTION π
So here's the tea π: restart_tx restarts the suspended Tx queues of an SGE queue set β but only if they've got enough free resources to actually resume operation. It's giving "don't start the party till the snacks are ready" energy fr fr π₯
If the resources aren't there? She simply does not restart them. That's the whole bit. Main character energy, minimal dialogue π
ngl this is one of those tiny helper functions that lowkey holds the whole Tx path together. respect her π«‘
π¦ SEE ALSO π¦
the whole extended friend group lives in Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c β go say hi to all of them, iykyk π
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)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)
that's the whole page, bestie, she's a short one but she ate π΄β¨ mwah π
β sourced from ./drivers/net/ethernet/chelsio..., dated October 2026 π go forth and restart those queues responsibly π¦
π¦ 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