Messages in this thread Patch in this message | | | From | Ratheesh Kannoth <> | Subject | [PATCH v1 net] octeontx2-pf: fix page_pool creation fail for rings > 32k | Date | Mon, 14 Aug 2023 18:54:11 +0530 |
| |
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 as soon as page pool is created. As page pool does direct recycling way more aggressivelyi, often times ptr_ring is left unused at all. Instead of clamping page_pool size to 32k at most, limit it even more to 2k to avoid wasting memory on much less used ptr_ring.
Fixes: b2e3406a38f0 ("octeontx2-pf: Add support for page pool") Suggested-by: Alexander Lobakin <aleksander.lobakin@intel.com> Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
---
ChangeLogs:
v0->v1: Commit message changes. --- --- drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 2 +- drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c index 77c8f650f7ac..fc8a1220eb39 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c @@ -1432,7 +1432,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.pool_size = numptrs; + pp_params.pool_size = OTX2_PAGE_POOL_SZ; pp_params.nid = NUMA_NO_NODE; pp_params.dev = pfvf->dev; pp_params.dma_dir = DMA_FROM_DEVICE; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h index ba8091131ec0..f6fea43617ff 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h @@ -30,6 +30,8 @@ #include <rvu_trace.h> #include "qos.h" +#define OTX2_PAGE_POOL_SZ 2048 + /* IPv4 flag more fragment bit */ #define IPV4_FLAG_MORE 0x20 -- 2.25.1
| |