handle_responses(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… handle_responses(9) β€” Kernel API Manual πŸ’…

✨ NAME ✨

handle_responses β€” decide what to do with new responses in NAPI mode. 🫢

πŸ› οΈ SYNOPSIS πŸ› οΈ

int handle_responses (struct adapter *adap , struct sge_rspq *q );

🧑 ARGUMENTS 🧑

  • adap β€” the adapter. πŸ’–
  • q β€” the response queue. πŸŽ€

πŸ’– DESCRIPTION πŸ’–

okay so picture this: the NAPI interrupt handlers use this function to decide what to do with new SGE responses. If there are no new responses, it returns -1. 😭

If there are new responses and they're pure (i.e., non-data carrying), it handles them straight in hard interrupt context, because they're very cheap and don't deliver any packets. ✨

Finally, if there are any data signaling responses, it schedules the NAPI handler. Return-value vibe check: 1 if it schedules NAPI, 0 if all new responses were pure. πŸ‘‘

⚠️ The caller must ascertain NAPI is not already running. Periodt. 🫢

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c β€” and the whole reference friend group: 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), 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).

β€” source/version: ./drivers/net/ethernet/chelsio... πŸ’– date: October 2026 🫢

πŸ“¦ where this page comes from