netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC, PATCH 0/2, net-next] net: netsec: Add XDP Support
@ 2019-06-25 15:06 Ilias Apalodimas
  2019-06-25 15:06 ` [RFC, PATCH 1/2, net-next] net: netsec: Use page_pool API Ilias Apalodimas
  2019-06-25 15:06 ` [RFC, PATCH 2/2, net-next] net: netsec: add XDP support Ilias Apalodimas
  0 siblings, 2 replies; 9+ messages in thread
From: Ilias Apalodimas @ 2019-06-25 15:06 UTC (permalink / raw)
  To: netdev, jaswinder.singh
  Cc: ard.biesheuvel, bjorn.topel, magnus.karlsson, brouer, daniel,
	ast, makita.toshiaki, jakub.kicinski, john.fastabend, davem,
	Ilias Apalodimas

This is a respin of https://www.spinics.net/lists/netdev/msg526066.html
Since page_pool API fixes are merged into net-next we can now safely use 
it's DMA mapping capabilities. 

The first patch changes the buffer allocation from netdev_alloc_frag() 
to page_pool API. Although this will lead to slightly reduced performance 
(on raw packet drops only) we can use the API for XDP buffer recycling. 
Another side effect is a slight increase in memory usage, due to using a 
single page per packet.

The second patch adds XDP support on the driver. 
There's a bunch of interesting options that come up due to the single 
Tx queue.
Use of locking (to avoid messing up the Tx queue since ndo_xdp_xmit
and the normal stack can co-exist) is one thing. 
We also need to track down the 'buffer type' for TX and properly free or 
recycle the packet depending on it's nature. Since we use page_pool API in 
the XDP_TX case the buffers are already mapped for us and we only need to 
sync them, while on the ndo_xdp_xmit we need to map and send them

Ilias Apalodimas (2):
  net: netsec: Use page_pool API
  net: netsec: add XDP support

 drivers/net/ethernet/socionext/Kconfig  |   1 +
 drivers/net/ethernet/socionext/netsec.c | 459 ++++++++++++++++++++----
 2 files changed, 394 insertions(+), 66 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2019-06-28  6:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-25 15:06 [RFC, PATCH 0/2, net-next] net: netsec: Add XDP Support Ilias Apalodimas
2019-06-25 15:06 ` [RFC, PATCH 1/2, net-next] net: netsec: Use page_pool API Ilias Apalodimas
2019-06-27  9:37   ` Jesper Dangaard Brouer
2019-06-27  9:40     ` Ilias Apalodimas
2019-06-25 15:06 ` [RFC, PATCH 2/2, net-next] net: netsec: add XDP support Ilias Apalodimas
2019-06-27 12:23   ` Jesper Dangaard Brouer
2019-06-27 12:24     ` Ilias Apalodimas
2019-06-27 14:18   ` Maciej Fijalkowski
2019-06-28  6:54     ` Ilias Apalodimas

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