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
>
>

Reply via email to