mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
octeontx2-pf: fix page_pool creation fail for rings > 32k
commit49fa4b0d06upstream. octeontx2 driver calls page_pool_create() during driver probe() and fails if queue size > 32k. Page pool infra uses these buffers as shock absorbers for burst traffic. These pages are pinned down over time as working sets varies, due to the recycling nature of page pool, given page pool (currently) don't have a shrinker mechanism, the pages remain pinned down in ptr_ring. Instead of clamping page_pool size to 32k at most, limit it even more to 2k to avoid wasting memory. This have been tested on octeontx2 CN10KA hardware. TCP and UDP tests using iperf shows no performance regressions. Fixes:b2e3406a38("octeontx2-pf: Add support for page pool") Suggested-by: Alexander Lobakin <aleksander.lobakin@intel.com> Reviewed-by: Sunil Goutham <sgoutham@marvell.com> Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com> Acked-by: Jesper Dangaard Brouer <hawk@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bc952bf4e0
commit
a84f95fecb
@@ -1434,7 +1434,7 @@ int otx2_pool_init(struct otx2_nic *pfvf, u16 pool_id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
pp_params.flags = PP_FLAG_PAGE_FRAG | PP_FLAG_DMA_MAP;
|
pp_params.flags = PP_FLAG_PAGE_FRAG | PP_FLAG_DMA_MAP;
|
||||||
pp_params.pool_size = numptrs;
|
pp_params.pool_size = min(OTX2_PAGE_POOL_SZ, numptrs);
|
||||||
pp_params.nid = NUMA_NO_NODE;
|
pp_params.nid = NUMA_NO_NODE;
|
||||||
pp_params.dev = pfvf->dev;
|
pp_params.dev = pfvf->dev;
|
||||||
pp_params.dma_dir = DMA_FROM_DEVICE;
|
pp_params.dma_dir = DMA_FROM_DEVICE;
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
#define OTX2_ETH_HLEN (VLAN_ETH_HLEN + VLAN_HLEN)
|
#define OTX2_ETH_HLEN (VLAN_ETH_HLEN + VLAN_HLEN)
|
||||||
#define OTX2_MIN_MTU 60
|
#define OTX2_MIN_MTU 60
|
||||||
|
|
||||||
|
#define OTX2_PAGE_POOL_SZ 2048
|
||||||
|
|
||||||
#define OTX2_MAX_GSO_SEGS 255
|
#define OTX2_MAX_GSO_SEGS 255
|
||||||
#define OTX2_MAX_FRAGS_IN_SQE 9
|
#define OTX2_MAX_FRAGS_IN_SQE 9
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user