Re: [Intel-wired-lan] [PATCH net] ixgbe: fix double clean of tx descriptors with xdp

From: BjÃrn TÃpel
Date: Thu Aug 22 2019 - 09:44:22 EST


On Wed, 21 Aug 2019 at 18:22, Ilya Maximets <i.maximets@xxxxxxxxxxx> wrote:
>
> On 21.08.2019 4:17, Alexander Duyck wrote:
> > On Tue, Aug 20, 2019 at 8:58 AM Ilya Maximets <i.maximets@xxxxxxxxxxx> wrote:
> >>
> >> On 20.08.2019 18:35, Alexander Duyck wrote:
[...]
> >
> > So is it always in the same NAPI context?. I forgot, I was thinking
> > that somehow the socket could possibly make use of XDP for transmit.
>
> AF_XDP socket only triggers tx interrupt on ndo_xsk_async_xmit() which
> is used in zero-copy mode. Real xmit happens inside
> ixgbe_poll()
> -> ixgbe_clean_xdp_tx_irq()
> -> ixgbe_xmit_zc()
>
> This should be not possible to bound another XDP socket to the same netdev
> queue.
>
> It also possible to xmit frames in xdp_ring while performing XDP_TX/REDIRECT
> actions. REDIRECT could happen from different netdev with different NAPI
> context, but this operation is bound to specific CPU core and each core has
> its own xdp_ring.
>
> However, I'm not an expert here.
> BjÃrn, maybe you could comment on this?
>

Yes, you're correct Ilya.