OSDN Git Service

net: netsec: Use page_pool API
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Sat, 29 Jun 2019 05:23:23 +0000 (08:23 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Jul 2019 02:27:08 +0000 (19:27 -0700)
commit5c67bf0ec4d0e6ff3c384ddc7846ed243b41251b
tree289bcc4e4310326c8128d8cd93590c74cd233012
parenta8488b702648ee6a5f391e2127e98e69ccca5b45
net: netsec: Use page_pool API

Use page_pool and it's DMA mapping capabilities for Rx buffers instead
of netdev/napi_alloc_frag()

Although this will result in a slight performance penalty on small sized
packets (~10%) the use of the API will allow to easily add XDP support.
The penalty won't be visible in network testing i.e ipef/netperf etc, it
only happens during raw packet drops.
Furthermore we intend to add recycling capabilities on the API
in the future. Once the recycling is added the performance penalty will
go away.
The only 'real' penalty is the slightly increased memory usage, since we
now allocate a page per packet instead of the amount of bytes we need +
skb metadata (difference is roughly 2kb per packet).
With a minimum of 4BG of RAM on the only SoC that has this NIC the
extra memory usage is negligible (a bit more on 64K pages)

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/socionext/Kconfig
drivers/net/ethernet/socionext/netsec.c