From: Jeremy Kerr <jk@codeconstruct.com.au>
To: Adam Young <admiyo@amperemail.onmicrosoft.com>,
admiyo@os.amperecomputing.com,
Matt Johnston <matt@codeconstruct.com.au>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Sudeep Holla <sudeep.holla@arm.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Huisong Li <lihuisong@huawei.com>
Subject: Re: [PATCH net-next v22 2/2] mctp pcc: Implement MCTP over PCC Transport
Date: Mon, 14 Jul 2025 16:21:50 +0800 [thread overview]
Message-ID: <883a07de53bf3c84ce255456891133da9443d2b1.camel@codeconstruct.com.au> (raw)
In-Reply-To: <30bcce6d-9a50-4fb8-ab7c-8ae36eb99d74@amperemail.onmicrosoft.com>
Hi Adam,
> If the sk_buff allocation fails, the logic falls back to the old code,
> which passes on a null buffer. There is logic there with notifying the
> sender that I don't want to skip or modify.
OK, so this will happen if we didn't allocate a buffer in the first
place - we'd still get a completion occurring. Let me know if my
understanding is incorrect.
>
> > I think the issue is that the mbox API is using the void * buffer
> > as both the data to transfer, and the callback context, so we can't
> > stash useful context across the completion?
>
> Correct, the SK_buff is a structure that points to a buffer, and
> what gets to the send_data function is the buffer itself. That buffer
> has no pointer back to the sk_buff.
OK, that's a bit unfortunate. Might be good to see if you can add a
context pointer to the mailbox request, in which you could stuff the
skb pointer. USB does this for the transfer completions: there are
members on the transfer (the struct urb) for both a context and buffer
pointer.
Of course, that is more a mailbox API change, so you may want to
consider that as a separate thing later.
> The NETDEV_TX_BUSY is correct, as it means resend the packet, and we
> don't have any reference to it.
OK, you may want to have the tx queue stopped at that point then, if
you have some facility to re-start it when the mailbox ring buffer has
space.
Cheers,
Jeremy
prev parent reply other threads:[~2025-07-14 8:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 19:12 [PATCH net-next v22 0/2] MCTP Over PCC Transport admiyo
2025-07-10 19:12 ` [PATCH net-next v22 1/2] mailbox/pcc: support mailbox management of the shared buffer admiyo
2025-07-11 6:51 ` kernel test robot
2025-07-14 19:37 ` Dan Carpenter
2025-07-14 23:02 ` Adam Young
2025-07-10 19:12 ` [PATCH net-next v22 2/2] mctp pcc: Implement MCTP over PCC Transport admiyo
2025-07-11 11:02 ` kernel test robot
2025-07-11 12:52 ` Jeremy Kerr
2025-07-11 20:03 ` Adam Young
2025-07-14 8:21 ` Jeremy Kerr [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=883a07de53bf3c84ce255456891133da9443d2b1.camel@codeconstruct.com.au \
--to=jk@codeconstruct.com.au \
--cc=Jonathan.Cameron@huawei.com \
--cc=admiyo@amperemail.onmicrosoft.com \
--cc=admiyo@os.amperecomputing.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=lihuisong@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@codeconstruct.com.au \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).