All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [net-next PATCH 0/3] XDP for ixgbe
@ 2017-02-25 17:32 John Fastabend
  2017-02-25 17:32 ` [Intel-wired-lan] [net-next PATCH 1/3] ixgbe: add XDP support for pass and drop actions John Fastabend
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: John Fastabend @ 2017-02-25 17:32 UTC (permalink / raw)
  To: intel-wired-lan

This series adds support for XDP on ixgbe. We still need to understand
adjust head size requirement. If we can compromise at 196B (is this
correct Alex?) then we can continue to use normal driver RX path and
avoid having XDP codebase + normal codebase. This is a big win for
everyone who has to read this code day to day and work on it. I
suggest if more headroom is needed then it should also be needed in
the normal stack case and we should provide a generic mechanism to
build up more headroom. Plus we already have ndo_set_rx_headroom()
can we just use this?

If this series can get accepted then we have a series behind it to
enable batching on TX to push TX Mpps up to line rates. The gist of
the implementation is to run XDP program in a loop, collecting the
action results in an array. And then pushing them into the TX routine.
For a first gen this will likely abort if we get a XDP_PASS routine
but this is just a matter of code wrangling and lazyness. It can be
resolved.

Future looking some improvements are needed, TX routines should take
an array of packets if we believe long trains of packets will be on
the RX ring inside a "processing window" (how many descriptors we
handle per irq clean). Note with many queues on devices we can ensure
this happens with flow director or even RSS in some cases.

@Alex, please review. Look at patch 2/3 in paticular and let me know
what you think about the trade-offs I made there w.r.t. num_xdp_queues

---

John Fastabend (3):
      ixgbe: add XDP support for pass and drop actions
      ixgbe: add support for XDP_TX action
      ixgbe: xdp support for adjust head


 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |   14 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |   29 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c     |   85 ++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |  439 ++++++++++++++++++++--
 4 files changed, 511 insertions(+), 56 deletions(-)

--
Signature

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

end of thread, other threads:[~2017-03-02  0:23 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-25 17:32 [Intel-wired-lan] [net-next PATCH 0/3] XDP for ixgbe John Fastabend
2017-02-25 17:32 ` [Intel-wired-lan] [net-next PATCH 1/3] ixgbe: add XDP support for pass and drop actions John Fastabend
2017-02-25 18:18   ` kbuild test robot
2017-02-27 16:22   ` Alexander Duyck
2017-02-25 17:32 ` [Intel-wired-lan] [net-next PATCH 2/3] ixgbe: add support for XDP_TX action John Fastabend
2017-02-25 22:01   ` Alexander Duyck
2017-03-01 23:15     ` John Fastabend
2017-03-02  0:07       ` John Fastabend
2017-02-25 17:33 ` [Intel-wired-lan] [net-next PATCH 3/3] ixgbe: xdp support for adjust head John Fastabend
2017-02-27 16:32   ` Alexander Duyck
2017-03-02  0:23     ` John Fastabend
2017-02-25 17:38 ` [Intel-wired-lan] [net-next PATCH 0/3] XDP for ixgbe John Fastabend
2017-02-27  1:35   ` Jeff Kirsher
2017-02-25 18:58 ` Alexander Duyck

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.