All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesse Brandeburg <jesse.brandeburg@intel.com>
To: Zvi Effron <zeffron@riotgames.com>
Cc: T K Sourabh <sourabhtk37@gmail.com>, Xdp <xdp-newbies@vger.kernel.org>
Subject: Re: Dropped packets mapping IRQs for adjusted queue counts on i40e
Date: Wed, 5 May 2021 13:01:28 -0700	[thread overview]
Message-ID: <20210505130128.00006720@intel.com> (raw)
In-Reply-To: <CAC1LvL1Kd-TCuPk0BEQyGvEiLzgUqkZHOKQNOUnxXSY6NjFMmw@mail.gmail.com>

Zvi Effron wrote:

> On Tue, May 4, 2021 at 4:07 PM Zvi Effron <zeffron@riotgames.com> wrote:
> > I'm suspecting it's something with how XDP_REDIRECT is implemented in
> > the i40e driver, but I don't know if this is a) cross driver behavior,
> > b) expected behavior, or c) a bug.
> I think I've found the issue, and it appears to be specific to i40e
> (and maybe other drivers, too, but not XDP itself).
> 
> When performing the XDP xmit, i40e uses the smp_processor_id() to
> select the tx queue (see
> https://elixir.bootlin.com/linux/v5.12.1/source/drivers/net/ethernet/intel/i40e/i40e_txrx.c#L3846).
> I'm not 100% clear on how the CPU is selected (since we don't use
> cores 0 and 1), we end up on a core whose id is higher than any
> available queue.
> 
> I'm going to try to modify our IRQ mappings to test this.
> 
> If I'm correct, this feels like a bug to me, since it requires a user
> to understand low level driver details to do IRQ remapping, which is a
> bit higher level. But if it's intended, we'll just have to figure out
> how to work around this. (Unfortunately, using split tx and rx queues
> is not possible with i40e, so that easy solution is unavailable.)
> 
> --Zvi


It seems like for Intel drivers, igc, ixgbe, i40e, ice all have
this problem.

Notably, igb, fixes it like I would expect.

Let's talk about it over on intel-wired-lan and cc netdev.

Jesse

  parent reply	other threads:[~2021-05-05 20:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01  0:45 Dropped packets mapping IRQs for adjusted queue counts on i40e Zvi Effron
     [not found] ` <CADS2XXpjasmJKP__oHsrvv3EG8n-FjB6sqHwgQfh7QgeJ8GrrQ@mail.gmail.com>
2021-05-01 17:56   ` Zvi Effron
2021-05-02 20:16     ` T K Sourabh
2021-05-04 23:07       ` Zvi Effron
2021-05-05 18:55         ` Zvi Effron
2021-05-05 19:53           ` Zvi Effron
2021-05-05 19:55           ` David Ahern
2021-05-05 20:01           ` Jesse Brandeburg [this message]
2021-05-05 21:21             ` [Intel-wired-lan] " Maciej Fijalkowski
2021-05-05 21:21               ` Maciej Fijalkowski
2021-05-06 10:29               ` [Intel-wired-lan] " Toke =?unknown-8bit?q?H=C3=B8iland-J=C3=B8rgensen?=
2021-05-06 10:29                 ` Toke Høiland-Jørgensen
2021-05-09 15:50                 ` [Intel-wired-lan] " Maciej Fijalkowski
2021-05-09 15:50                   ` Maciej Fijalkowski
2021-05-10 11:22                   ` [Intel-wired-lan] " Toke =?unknown-8bit?q?H=C3=B8iland-J=C3=B8rgensen?=
2021-05-10 11:22                     ` Toke Høiland-Jørgensen
2021-05-10 15:01                     ` [Intel-wired-lan] " Jesper Dangaard Brouer
2021-05-10 15:01                       ` Jesper Dangaard Brouer

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=20210505130128.00006720@intel.com \
    --to=jesse.brandeburg@intel.com \
    --cc=sourabhtk37@gmail.com \
    --cc=xdp-newbies@vger.kernel.org \
    --cc=zeffron@riotgames.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.