The data page pool always fills the HW rx ring with pages. On arm64 with
64K pages, this will waste _at least_ 32K of memory per entry in the rx
ring.
Fix by fragmenting the pages if PAGE_SIZE > BNXT_RX_PAGE_SIZE. This
makes the data page pool the same as the header pool.
Tested with iperf3 with a small (64 entries) rx ring to encourage buffer
circulation.
Fixes:
|
||
|---|---|---|
| .. | ||
| asp2 | ||
| bnge | ||
| bnx2x | ||
| bnxt | ||
| genet | ||
| Kconfig | ||
| Makefile | ||
| b44.c | ||
| b44.h | ||
| bcm63xx_enet.c | ||
| bcm63xx_enet.h | ||
| bcm4908_enet.c | ||
| bcm4908_enet.h | ||
| bcmsysport.c | ||
| bcmsysport.h | ||
| bgmac-bcma-mdio.c | ||
| bgmac-bcma.c | ||
| bgmac-platform.c | ||
| bgmac.c | ||
| bgmac.h | ||
| bnx2.c | ||
| bnx2.h | ||
| bnx2_fw.h | ||
| cnic.c | ||
| cnic.h | ||
| cnic_defs.h | ||
| cnic_if.h | ||
| sb1250-mac.c | ||
| tg3.c | ||
| tg3.h | ||
| unimac.h | ||