From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: intel-wired-lan@lists.osuosl.org
Cc: Alexander Lobakin <aleksander.lobakin@intel.com>,
Michal Kubiak <michal.kubiak@intel.com>,
Joshua Hay <joshua.a.hay@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
nex.sw.ncis.osdt.itp.upstreaming@intel.com,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH iwl-next 0/9] idpf: XDP chapter II: convert Tx completion to libeth
Date: Tue, 6 Aug 2024 15:12:31 +0200 [thread overview]
Message-ID: <20240806131240.800259-1-aleksander.lobakin@intel.com> (raw)
XDP for idpf is currently 5 chapters:
* convert Rx to libeth;
* convert Tx completion and stats to libeth (this);
* generic XDP and XSk code changes;
* actual XDP for idpf via libeth_xdp;
* XSk for idpf (^).
Part II does the following:
* introduces generic libeth per-queue stats infra;
* adds generic libeth Tx completion routines;
* converts idpf to use generic libeth Tx comp routines;
* fixes Tx queue timeouts and robustifies Tx completion in general;
* fixes Tx event/descriptor flushes (writebacks);
* fully switches idpf per-queue stats to libeth.
Most idpf patches again remove more lines than adds.
The perf difference is not visible by eye in common scenarios, but
the stats are now more complete and reliable, and also survive
ifups-ifdowns.
Alexander Lobakin (6):
unroll: add generic loop unroll helpers
libeth: add common queue stats
libie: add Tx buffer completion helpers
idpf: convert to libie Tx buffer completion
netdevice: add netdev_tx_reset_subqueue() shorthand
idpf: switch to libeth generic statistics
Joshua Hay (2):
idpf: refactor Tx completion routines
idpf: enable WB_ON_ITR
Michal Kubiak (1):
idpf: fix netdev Tx queue stop/wake
drivers/net/ethernet/intel/libeth/Makefile | 4 +-
include/net/libeth/types.h | 247 ++++++++
drivers/net/ethernet/intel/idpf/idpf.h | 21 +-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 144 ++---
drivers/net/ethernet/intel/idpf/virtchnl2.h | 33 +-
drivers/net/ethernet/intel/libeth/priv.h | 21 +
include/linux/netdevice.h | 13 +-
include/linux/unroll.h | 50 ++
include/net/libeth/netdev.h | 31 +
include/net/libeth/stats.h | 141 +++++
include/net/libeth/tx.h | 127 +++++
drivers/net/ethernet/intel/idpf/idpf_dev.c | 2 +
.../net/ethernet/intel/idpf/idpf_ethtool.c | 498 ++--------------
drivers/net/ethernet/intel/idpf/idpf_lib.c | 32 +-
.../ethernet/intel/idpf/idpf_singleq_txrx.c | 172 +++---
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 538 +++++++++---------
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c | 2 +
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 37 +-
drivers/net/ethernet/intel/libeth/netdev.c | 157 +++++
drivers/net/ethernet/intel/libeth/rx.c | 5 -
drivers/net/ethernet/intel/libeth/stats.c | 360 ++++++++++++
21 files changed, 1633 insertions(+), 1002 deletions(-)
create mode 100644 include/net/libeth/types.h
create mode 100644 drivers/net/ethernet/intel/libeth/priv.h
create mode 100644 include/linux/unroll.h
create mode 100644 include/net/libeth/netdev.h
create mode 100644 include/net/libeth/stats.h
create mode 100644 include/net/libeth/tx.h
create mode 100644 drivers/net/ethernet/intel/libeth/netdev.c
create mode 100644 drivers/net/ethernet/intel/libeth/stats.c
--
2.45.2
next reply other threads:[~2024-08-06 13:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 13:12 Alexander Lobakin [this message]
2024-08-06 13:12 ` [PATCH iwl-next 1/9] unroll: add generic loop unroll helpers Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 2/9] libeth: add common queue stats Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 3/9] libie: add Tx buffer completion helpers Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 4/9] idpf: convert to libie Tx buffer completion Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 5/9] netdevice: add netdev_tx_reset_subqueue() shorthand Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 6/9] idpf: refactor Tx completion routines Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 7/9] idpf: fix netdev Tx queue stop/wake Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 8/9] idpf: enable WB_ON_ITR Alexander Lobakin
2024-08-06 13:12 ` [PATCH iwl-next 9/9] idpf: switch to libeth generic statistics Alexander Lobakin
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=20240806131240.800259-1-aleksander.lobakin@intel.com \
--to=aleksander.lobakin@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=joshua.a.hay@intel.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.kubiak@intel.com \
--cc=netdev@vger.kernel.org \
--cc=nex.sw.ncis.osdt.itp.upstreaming@intel.com \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.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
all inboxes | Powered by JetHome®