]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitad34f8b17a3d3d7e573619c63489deb7401a17c8
tree289bcc4e4310326c8128d8cd93590c74cd233012
parentbdf36fbca27d5519f5f34ba0317a72d9fd67c130
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