diff options
author | Jose Abreu <Jose.Abreu@synopsys.com> | 2019-07-09 10:03:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-07-09 12:20:08 -0700 |
commit | 2af6106ae949651d529c8c3f0734c3a7babd0d4b (patch) | |
tree | da32c00b9208e27b5f109d917e4c0a0ab9a9d8dd /drivers/net/ethernet/stmicro/stmmac/Kconfig | |
parent | 06a80a7d09cc3fbecbd44e225e825a37fb806836 (diff) | |
download | linux-stable-2af6106ae949651d529c8c3f0734c3a7babd0d4b.tar.gz linux-stable-2af6106ae949651d529c8c3f0734c3a7babd0d4b.tar.bz2 linux-stable-2af6106ae949651d529c8c3f0734c3a7babd0d4b.zip |
net: stmmac: Introducing support for Page Pool
Mapping and unmapping DMA region is an high bottleneck in stmmac driver,
specially in the RX path.
This commit introduces support for Page Pool API and uses it in all RX
queues. With this change, we get more stable troughput and some increase
of banwidth with iperf:
- MAC1000 - 950 Mbps
- XGMAC: 9.22 Gbps
Changes from v3:
- Use page_pool_destroy() (Ilias)
Changes from v2:
- Uncoditionally call page_pool_free() (Jesper)
Changes from v1:
- Use page_pool_get_dma_addr() (Jesper)
- Add a comment (Jesper)
- Add page_pool_free() call (Jesper)
- Reintroduce sync_single_for_device (Arnd / Ilias)
Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/Kconfig')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig index 943189dcccb1..2325b40dff6e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -3,6 +3,7 @@ config STMMAC_ETH tristate "STMicroelectronics Multi-Gigabit Ethernet driver" depends on HAS_IOMEM && HAS_DMA select MII + select PAGE_POOL select PHYLINK select CRC32 imply PTP_1588_CLOCK |