Message ID | 1507814717-13306-1-git-send-email-hemant.agrawal@nxp.com |
---|---|
State | New |
Headers | show |
Series | [v2] examples/ip_reassembly: use pktmbuf to create pool | expand |
> -----Original Message----- > From: Hemant Agrawal [mailto:hemant.agrawal@nxp.com] > Sent: Thursday, October 12, 2017 2:25 PM > To: dev@dpdk.org; Ananyev, Konstantin <konstantin.ananyev@intel.com> > Subject: [PATCH v2] examples/ip_reassembly: use pktmbuf to create pool > > From: Ashish Jain <ashish.jain@nxp.com> > > Use of rte_mempool_create() with the helper provided in > librte_mbuf: rte_pktmbuf_pool_create(). > This is the preferred way to create a mbuf pool else > it may not work on implementation using the HW buffer pool > > Signed-off-by: Ashish Jain <ashish.jain@nxp.com> > --- > v2: add mempool caches - as suggested by Konstantin > > examples/ip_reassembly/main.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c > index cadf4c5..2f662ba 100644 > --- a/examples/ip_reassembly/main.c > +++ b/examples/ip_reassembly/main.c > @@ -84,10 +84,10 @@ > #define MAX_JUMBO_PKT_LEN 9600 > > #define BUF_SIZE RTE_MBUF_DEFAULT_DATAROOM > -#define MBUF_SIZE \ > - (BUF_SIZE + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM) > +#define MBUF_DATA_SIZE RTE_MBUF_DEFAULT_BUF_SIZE > > #define NB_MBUF 8192 > +#define MEMPOOL_CACHE_SIZE 256 > > /* allow max jumbo frame 9.5 KB */ > #define JUMBO_FRAME_MAX_SIZE 0x2600 > @@ -909,11 +909,11 @@ setup_queue_tbl(struct rx_queue *rxq, uint32_t lcore, uint32_t queue) > > snprintf(buf, sizeof(buf), "mbuf_pool_%u_%u", lcore, queue); > > - if ((rxq->pool = rte_mempool_create(buf, nb_mbuf, MBUF_SIZE, 0, > - sizeof(struct rte_pktmbuf_pool_private), > - rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, > - socket, MEMPOOL_F_SP_PUT | MEMPOOL_F_SC_GET)) == NULL) { > - RTE_LOG(ERR, IP_RSMBL, "mempool_create(%s) failed", buf); > + rxq->pool = rte_pktmbuf_pool_create(buf, nb_mbuf, MEMPOOL_CACHE_SIZE, 0, > + MBUF_DATA_SIZE, socket); > + if (rxq->pool == NULL) { > + RTE_LOG(ERR, IP_RSMBL, > + "rte_pktmbuf_pool_create(%s) failed", buf); > return -1; > } > > -- Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> > 2.7.4
> > Use of rte_mempool_create() with the helper provided in > > librte_mbuf: rte_pktmbuf_pool_create(). > > This is the preferred way to create a mbuf pool else > > it may not work on implementation using the HW buffer pool > > > > Signed-off-by: Ashish Jain <ashish.jain@nxp.com> > > Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Applied, thanks
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index cadf4c5..2f662ba 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -84,10 +84,10 @@ #define MAX_JUMBO_PKT_LEN 9600 #define BUF_SIZE RTE_MBUF_DEFAULT_DATAROOM -#define MBUF_SIZE \ - (BUF_SIZE + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM) +#define MBUF_DATA_SIZE RTE_MBUF_DEFAULT_BUF_SIZE #define NB_MBUF 8192 +#define MEMPOOL_CACHE_SIZE 256 /* allow max jumbo frame 9.5 KB */ #define JUMBO_FRAME_MAX_SIZE 0x2600 @@ -909,11 +909,11 @@ setup_queue_tbl(struct rx_queue *rxq, uint32_t lcore, uint32_t queue) snprintf(buf, sizeof(buf), "mbuf_pool_%u_%u", lcore, queue); - if ((rxq->pool = rte_mempool_create(buf, nb_mbuf, MBUF_SIZE, 0, - sizeof(struct rte_pktmbuf_pool_private), - rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, - socket, MEMPOOL_F_SP_PUT | MEMPOOL_F_SC_GET)) == NULL) { - RTE_LOG(ERR, IP_RSMBL, "mempool_create(%s) failed", buf); + rxq->pool = rte_pktmbuf_pool_create(buf, nb_mbuf, MEMPOOL_CACHE_SIZE, 0, + MBUF_DATA_SIZE, socket); + if (rxq->pool == NULL) { + RTE_LOG(ERR, IP_RSMBL, + "rte_pktmbuf_pool_create(%s) failed", buf); return -1; }