On Wed, Aug 17, 2016 at 4:59 AM, Matias Elo <[email protected]> wrote:
> DPDK 16.07 finally supports freeing memory pools. > > Signed-off-by: Matias Elo <[email protected]> > Reviewed-by: Bill Fischofer <[email protected]> > --- > platform/linux-generic/pktio/dpdk.c | 13 +++++-------- > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/ > pktio/dpdk.c > index bf8b499..b45c9a8 100644 > --- a/platform/linux-generic/pktio/dpdk.c > +++ b/platform/linux-generic/pktio/dpdk.c > @@ -390,6 +390,8 @@ static int dpdk_close(pktio_entry_t *pktio_entry) > if (pktio_entry->s.state != PKTIO_STATE_OPENED) > rte_eth_dev_close(pkt_dpdk->port_id); > > + rte_mempool_free(pkt_dpdk->pkt_pool); > + > return 0; > } > > @@ -650,14 +652,9 @@ static int dpdk_open(odp_pktio_t id ODP_UNUSED, > else > pkt_dpdk->min_rx_burst = 0; > > - /* Look for previously opened packet pool */ > - pkt_pool = rte_mempool_lookup(pkt_dpdk->pool_name); > - if (pkt_pool == NULL) > - pkt_pool = rte_pktmbuf_pool_create(pkt_dpdk->pool_name, > - DPDK_NB_MBUF, > - > DPDK_MEMPOOL_CACHE_SIZE, 0, > - DPDK_MBUF_BUF_SIZE, > - rte_socket_id()); > + pkt_pool = rte_pktmbuf_pool_create(pkt_dpdk->pool_name, > DPDK_NB_MBUF, > + DPDK_MEMPOOL_CACHE_SIZE, 0, > + DPDK_MBUF_BUF_SIZE, > rte_socket_id()); > if (pkt_pool == NULL) { > ODP_ERR("Cannot init mbuf packet pool\n"); > return -1; > -- > 2.7.4 > >
