[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1561785805-21647-1-git-send-email-ilias.apalodimas@linaro.org>
Date: Sat, 29 Jun 2019 08:23:22 +0300
From: Ilias Apalodimas <ilias.apalodimas@...aro.org>
To: netdev@...r.kernel.org, jaswinder.singh@...aro.org
Cc: ard.biesheuvel@...aro.org, bjorn.topel@...el.com,
magnus.karlsson@...el.com, brouer@...hat.com, daniel@...earbox.net,
ast@...nel.org, makita.toshiaki@....ntt.co.jp,
jakub.kicinski@...ronome.com, john.fastabend@...il.com,
davem@...emloft.net, maciejromanfijalkowski@...il.com,
Ilias Apalodimas <ilias.apalodimas@...aro.org>
Subject: [PATCH 0/3, net-next, v2] net: netsec: Add XDP Support
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.
First patch changes the buffer allocation from napi/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.
Locking is needed(to avoid messing up the Tx queues since ndo_xdp_xmit
and the normal stack can co-exist). We also need to track down the
'buffer type' for TX and properly free or recycle the packet depending
on it's nature.
Changes since RFC:
- Bug fixes from Jesper and Maciej
- Added page pool API to retrieve the DMA direction
Changes since v1:
- Use page_pool_free correctly if xdp_rxq_info_reg() failed
Ilias Apalodimas (3):
net: netsec: Use page_pool API
net: page_pool: add helper function for retrieving dma direction
net: netsec: add XDP support
drivers/net/ethernet/socionext/Kconfig | 1 +
drivers/net/ethernet/socionext/netsec.c | 473 ++++++++++++++++++++----
include/net/page_pool.h | 9 +
3 files changed, 416 insertions(+), 67 deletions(-)
--
2.20.1
Powered by blists - more mailing lists