RE: [Intel-wired-lan] [PATCH iwl-next v5 07/13] idpf: add support for nointerrupt queues
From: R, Ramu <hidden>
Date: 2025-09-04 17:44:40
Also in:
bpf, intel-wired-lan, lkml
-----Original Message----- From: Intel-wired-lan <redacted> On Behalf Of Alexander Lobakin Sent: Tuesday, August 26, 2025 9:25 PM To: intel-wired-lan@lists.osuosl.org Cc: Lobakin, Aleksander <aleksander.lobakin@intel.com>; Kubiak, Michal [off-list ref]; Fijalkowski, Maciej [off-list ref]; Nguyen, Anthony L [off-list ref]; Kitszel, Przemyslaw [off-list ref]; Andrew Lunn [off-list ref]; David S. Miller [off-list ref]; Eric Dumazet [off-list ref]; Jakub Kicinski [off-list ref]; Paolo Abeni [off-list ref]; Alexei Starovoitov [off-list ref]; Daniel Borkmann [off-list ref]; Simon Horman [off-list ref]; NXNE CNSE OSDT ITP Upstreaming [off-list ref]; bpf@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org Subject: [Intel-wired-lan] [PATCH iwl-next v5 07/13] idpf: add support for nointerrupt queues Currently, queues are associated 1:1 with interrupt vectors as it's assumed queues are always interrupt-driven. For XDP, we want to use Tx queues without interrupts and only do "lazy" cleaning when the number of free elements is <= threshold (closest pow-2 to 1/4 of the ring). In order to use a queue without an interrupt, idpf still needs to have a vector assigned to it to flush descriptors. This vector can be global and only one for the whole vport to handle all its noirq queues. Always request one excessive vector and configure it in non-interrupt mode right away when creating vport, so that it can be used later by queues when needed (not only XDP ones). Co-developed-by: Michal Kubiak <redacted> Signed-off-by: Michal Kubiak <redacted> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> --- drivers/net/ethernet/intel/idpf/idpf.h | 8 +++ drivers/net/ethernet/intel/idpf/idpf_txrx.h | 4 ++ drivers/net/ethernet/intel/idpf/idpf_dev.c | 11 +++- drivers/net/ethernet/intel/idpf/idpf_lib.c | 2 +- drivers/net/ethernet/intel/idpf/idpf_txrx.c | 8 +++ drivers/net/ethernet/intel/idpf/idpf_vf_dev.c | 11 +++- .../net/ethernet/intel/idpf/idpf_virtchnl.c | 54 ++++++++++++++----- 7 files changed, 81 insertions(+), 17 deletions(-)
Tested-by: R,Ramu <redacted>