Re: [PATCH net-next v25 1/1] mctp pcc: Implement MCTP over PCC Transport

From: Adam Young
Date: Wed Aug 27 2025 - 00:55:31 EST



On 8/26/25 21:37, Jeremy Kerr wrote:
The only remaining query I had was the TX flow control. You're returning
NETDEV_TX_BUSY while the queues are still running, so are likely to get
repeated TX in a loop there.

Sorry, I missed this until just after hitting submit again.

The code currently goes

        if (rc < 0) {
                skb_unlink(skb, &mpnd->outbox.packets);
                return NETDEV_TX_BUSY;
        }
Which means the failed-to-send packet is unlinked.  I guess I am unclear if this is sufficient to deal with the packet flow control issue or not.

I have not yet had a setup up where I can flood the network with packets and see what happens if I fill up the ring buffer.  I think that is the most likely failure case that will lead to flow control issues.  If the remote side cannot handle packets as fast as they are sent, at some point we have to stop sending them.  The mailbox abstraction makes that hard to detect;  I think the send_message will hang trying to get the lock on the shared buffer, and time out.