netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/9][pull request] idpf: XDP chapter II: convert Tx completion to libeth
@ 2024-08-14 17:32 Tony Nguyen
  2024-08-14 17:32 ` [PATCH net-next 1/9] unroll: add generic loop unroll helpers Tony Nguyen
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Tony Nguyen @ 2024-08-14 17:32 UTC (permalink / raw)
  To: davem, kuba, pabeni, edumazet, netdev
  Cc: Tony Nguyen, aleksander.lobakin, przemyslaw.kitszel, joshua.a.hay,
	michal.kubiak, nex.sw.ncis.osdt.itp.upstreaming

Alexander Lobakin says:

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.
---
iwl: https://lore.kernel.org/intel-wired-lan/20240806131240.800259-1-aleksander.lobakin@intel.com/

The following are changes since commit 2984e69a24affc8e5624069b7bb44593e09037e8:
  net: ethernet: dlink: replace deprecated macro
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 200GbE

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/idpf/idpf.h        |  21 +-
 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   | 539 +++++++++---------
 drivers/net/ethernet/intel/idpf/idpf_txrx.h   | 144 ++---
 drivers/net/ethernet/intel/idpf/idpf_vf_dev.c |   2 +
 .../net/ethernet/intel/idpf/idpf_virtchnl.c   |  37 +-
 drivers/net/ethernet/intel/idpf/virtchnl2.h   |  33 +-
 drivers/net/ethernet/intel/libeth/Makefile    |   4 +-
 drivers/net/ethernet/intel/libeth/netdev.c    | 157 +++++
 drivers/net/ethernet/intel/libeth/priv.h      |  21 +
 drivers/net/ethernet/intel/libeth/rx.c        |   5 -
 drivers/net/ethernet/intel/libeth/stats.c     | 360 ++++++++++++
 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 +++++
 include/net/libeth/types.h                    | 247 ++++++++
 21 files changed, 1634 insertions(+), 1002 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/libeth/netdev.c
 create mode 100644 drivers/net/ethernet/intel/libeth/priv.h
 create mode 100644 drivers/net/ethernet/intel/libeth/stats.c
 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 include/net/libeth/types.h

-- 
2.42.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-08-19 15:22 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-14 17:32 [PATCH net-next 0/9][pull request] idpf: XDP chapter II: convert Tx completion to libeth Tony Nguyen
2024-08-14 17:32 ` [PATCH net-next 1/9] unroll: add generic loop unroll helpers Tony Nguyen
2024-08-14 17:32 ` [PATCH net-next 2/9] libeth: add common queue stats Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 3/9] libie: add Tx buffer completion helpers Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 4/9] idpf: convert to libie Tx buffer completion Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 5/9] netdevice: add netdev_tx_reset_subqueue() shorthand Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 6/9] idpf: refactor Tx completion routines Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 7/9] idpf: fix netdev Tx queue stop/wake Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 8/9] idpf: enable WB_ON_ITR Tony Nguyen
2024-08-14 17:33 ` [PATCH net-next 9/9] idpf: switch to libeth generic statistics Tony Nguyen
2024-08-16  2:18 ` [PATCH net-next 0/9][pull request] idpf: XDP chapter II: convert Tx completion to libeth Jakub Kicinski
2024-08-16 20:31   ` Tony Nguyen
2024-08-16 20:40     ` Jakub Kicinski
2024-08-16 20:45       ` Tony Nguyen
2024-08-19 11:58   ` Alexander Lobakin
2024-08-19 15:22     ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).