HomeFreeBSD

cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits

Description

cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits

In particular, the kernel RPC layer used by the NFS client never
invokes pru_rcvd since it always reads data from the socket upcall
via MSG_SOCALLBCK which avoids calling pru_rcvd. As a result, on an
NFS client connection managed by t4_tom, RX credits were never
returned to the TOE connection to open the TCP window resulting in
connection hangs.

To fix, expand the set of conditions in do_rx_data where RX credits
are returned to match those in t4_rcvd_locked by calling the function
directly.

Reviewed by: np
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D41688

Details

Provenance
jhbAuthored on Sep 8 2023, 11:30 PM
Reviewer
np
Differential Revision
D41688: cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits
Parents
rG2a4096b01244: share/man/man7/simd.7: documend simd-enhanced memchr(3), strnlen(3)
Branches
Unknown
Tags
Unknown