[ovs-dev] [PATCH v6 2/5] netdev-dpdk: skip init for existing mempools.

Kavanagh, Mark B mark.b.kavanagh at intel.com
Tue Oct 17 13:34:22 UTC 2017


>From: Fischetti, Antonio
>Sent: Monday, October 16, 2017 2:15 PM
>To: dev at openvswitch.org
>Cc: Kavanagh, Mark B <mark.b.kavanagh at intel.com>; Darrell Ball
><dlu998 at gmail.com>; Loftus, Ciara <ciara.loftus at intel.com>; Kevin Traynor
><ktraynor at redhat.com>; Aaron Conole <aconole at redhat.com>; Fischetti, Antonio
><antonio.fischetti at intel.com>
>Subject: [PATCH v6 2/5] netdev-dpdk: skip init for existing mempools.
>
>Skip initialization of mempool packet areas if this was already
>done in a previous call to dpdk_mp_create.

Hi Antonio,

As stated in my previous review, I believe that this could probably be folded into patch 1 of the series (it was patch 3 of v5). 
However, I don't object strongly to this patch, so I'll leave it to your discretion.

Other than that, LGTM.

Thanks,
Mark

>
>CC: Mark B Kavanagh <mark.b.kavanagh at intel.com>
>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>
>Signed-off-by: Antonio Fischetti <antonio.fischetti at intel.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 7f2d7ed..07c438a 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) &&
>--
>2.4.11



More information about the dev mailing list