netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/9][pull request] 10GbE Intel Wired LAN Driver Updates 2022-01-31
@ 2022-01-31 18:31 Tony Nguyen
  2022-01-31 18:31 ` [PATCH net-next 1/9] i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb Tony Nguyen
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Tony Nguyen @ 2022-01-31 18:31 UTC (permalink / raw)
  To: davem, kuba
  Cc: Tony Nguyen, netdev, alexandr.lobakin, ast, daniel, hawk,
	john.fastabend, bjorn, maciej.fijalkowski, michal.swiatkowski,
	kafai, songliubraving, kpsingh, yhs, andrii, bpf

Alexander Lobakin says:

This is an interpolation of [0] to other Intel Ethernet drivers
(and is (re)based on its code).
The main aim is to keep XDP metadata not only in case with
build_skb(), but also when we do napi_alloc_skb() + memcpy().

All Intel drivers suffers from the same here:
 - metadata gets lost on XDP_PASS in legacy-rx;
 - excessive headroom allocation on XSK Rx to skbs;
 - metadata gets lost on XSK Rx to skbs.

Those get especially actual in XDP Hints upcoming.
I couldn't have addressed the first one for all Intel drivers due to
that they don't reserve any headroom for now in legacy-rx mode even
with XDP enabled. This is hugely wrong, but requires quite a bunch
of work and a separate series. Luckily, ice doesn't suffer from
that.
igc has 1 and 3 already fixed in [0].

[0] https://lore.kernel.org/netdev/163700856423.565980.10162564921347693758.stgit@firesoul

The following are changes since commit b43471cc10327f098d5a72918cd59fcb91546ca3:
  Merge branch 'mana-XDP-counters'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 10GbE

Alexander Lobakin (9):
  i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  i40e: respect metadata on XSK Rx to skb
  ice: respect metadata in legacy-rx/ice_construct_skb()
  ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  ice: respect metadata on XSK Rx to skb
  igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly
  ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  ixgbe: respect metadata on XSK Rx to skb

 drivers/net/ethernet/intel/i40e/i40e_xsk.c   | 16 +++++++-----
 drivers/net/ethernet/intel/ice/ice_txrx.c    | 15 ++++++++---
 drivers/net/ethernet/intel/ice/ice_xsk.c     | 16 +++++++-----
 drivers/net/ethernet/intel/igc/igc_main.c    | 13 +++++-----
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 27 ++++++++++++--------
 5 files changed, 54 insertions(+), 33 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2022-02-01 13:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-31 18:31 [PATCH net-next 0/9][pull request] 10GbE Intel Wired LAN Driver Updates 2022-01-31 Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 1/9] i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 2/9] i40e: respect metadata " Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 3/9] ice: respect metadata in legacy-rx/ice_construct_skb() Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 4/9] ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 5/9] ice: respect metadata " Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 6/9] igc: don't reserve excessive XDP_PACKET_HEADROOM " Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 7/9] ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 8/9] ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb Tony Nguyen
2022-01-31 18:31 ` [PATCH net-next 9/9] ixgbe: respect metadata " Tony Nguyen
2022-02-01 13:20 ` [PATCH net-next 0/9][pull request] 10GbE Intel Wired LAN Driver Updates 2022-01-31 patchwork-bot+netdevbpf

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).