process_pure_responses(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… process_pure_responses(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for process_pure_responses(9) β€” we are processing pure responses today and the vibes are immaculate ✨


🌸 NAME 🌸

process_pure_responses β€” process pure responses from a response queue πŸ’–


✨ SYNOPSIS ✨

int process_pure_responses (struct adapter *adap , struct sge_qset *qs ,
       struct rsp_desc *r );

πŸŽ€ ARGUMENTS πŸŽ€

  • adap β€” the adapter. literally the adapter. 🫢
  • qs β€” the queue set that owns the response queue. she owns it. πŸ‘‘
  • r β€” the first pure response to process. first up, bestie. ⭐

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this is a simpler version of process_responses β€” a lowkey glow-up that handles only pure (i.e., non data-carrying) responses. Such responses are too light-weight to justify calling a softirq under NAPI, so we handle them specially in the interrupt handler. not me doing interrupt-handler duty πŸ’…

The function is called with a pointer to a response, and the caller must ensure it is a valid pure response. that's the vibe check: valid pure response or don't call it, fr fr πŸ™ˆ

Returns 1 if it encounters a valid data-carrying response, 0 otherwise. those are the return-value receipts 🧾✨


🌈 SEE ALSO 🌈

the Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c is the source of this whole friend group, and these are its besties:

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),
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)

cute little sign-off: the footer lore says source/version ./drivers/net/ethernet/chelsio..., dated October 2026, for process_pure_responses(9). bye bestie, slay responsibly πŸ«Άβœ¨πŸ’–

πŸ“¦ where this page comes from