[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACKFLim6okW1q=APD4nftB2=PRPtgmE1+pXx3bSuhkOPwrM_Jw@mail.gmail.com>
Date: Thu, 27 Jul 2023 12:40:59 -0700
From: Michael Chan <michael.chan@...adcom.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
pabeni@...hat.com, gospo@...adcom.com
Subject: Re: [PATCH net] bnxt: don't handle XDP in netpoll
On Thu, Jul 27, 2023 at 12:29 PM Michael Chan <michael.chan@...adcom.com> wrote:
>
> On Thu, Jul 27, 2023 at 12:05 PM Jakub Kicinski <kuba@...nel.org> wrote:
> >
> > I see...
> >
> > Do you prefer adding a return value to tx_int() to tell
> > __bnxt_poll_work_done() whether the work has been done;
> > or to clear tx_pkts in the handler itself rather than
> > the caller?
> >
>
> It's a bigger problem. When we transmit packets, we store these
> packet buffers and advance the producer index. The completion ring
> tells us how many TX packets have completed. We then walk the TX ring
> for the number of TX packets completed and free the buffers. If we
> cannot free the buffers now, we have to save this information (the
> consumer index). We won't get this information again in the
> completion ring.
I reread your comments again. Yes, if we don't clear bnapi->tx_pkts
if we do nothing, it should work. Since we always free all the
packets or none, it might be easier to clear it in the tx_int handler.
Download attachment "smime.p7s" of type "application/pkcs7-signature" (4209 bytes)
Powered by blists - more mailing lists