[ovs-dev] [PATCH v7 3/6] netdev-dpdk: skip init for existing mempools.

Kevin Traynor ktraynor at redhat.com
Thu Oct 19 10:33:03 UTC 2017


On 10/18/2017 05:01 PM, antonio.fischetti at intel.com wrote:
> Skip initialization of mempool packet areas if this was already
> done in a previous call to dpdk_mp_create.
> 
> CC: Darrell Ball <dlu998 at gmail.com>
> CC: Ciara Loftus <ciara.loftus at intel.com>
> CC: Kevin Traynor <ktraynor at redhat.com>
> CC: Aaron Conole <aconole at redhat.com>
> Acked-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
> Signed-off-by: Antonio Fischetti <antonio.fischetti at intel.com>
> ---

LGTM
Acked-by: Kevin Traynor <ktraynor at redhat.com>

>  lib/netdev-dpdk.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index 3155505..7c550f2 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -550,6 +550,11 @@ dpdk_mp_create(struct netdev_dpdk *dev, int mtu, bool *mp_exists)
>          if (dmp->mp) {
>              VLOG_DBG("Allocated \"%s\" mempool with %u mbufs", mp_name,
>                       dmp->mp_size);
> +            /* rte_pktmbuf_pool_create has done some initialization of the
> +             * rte_mbuf part of each dp_packet. Some OvS specific fields
> +             * of the packet still need to be initialized by
> +             * ovs_rte_pktmbuf_init. */
> +            rte_mempool_obj_iter(dmp->mp, ovs_rte_pktmbuf_init, NULL);
>          } else if (rte_errno == EEXIST) {
>              /* A mempool with the same name already exists.  We just
>               * retrieve its pointer to be returned to the caller. */
> @@ -566,11 +571,6 @@ dpdk_mp_create(struct netdev_dpdk *dev, int mtu, bool *mp_exists)
>          }
>          free(mp_name);
>          if (dmp->mp) {
> -            /* rte_pktmbuf_pool_create has done some initialization of the
> -             * rte_mbuf part of each dp_packet, while ovs_rte_pktmbuf_init
> -             * initializes some OVS specific fields of dp_packet.
> -             */
> -            rte_mempool_obj_iter(dmp->mp, ovs_rte_pktmbuf_init, NULL);
>              return dmp;
>          }
>      } while (!(*mp_exists) &&
> 



More information about the dev mailing list