[ovs-dev] [PATCH v2 2/4] netdev-dpdk: if mempool already exists don't reinit packet areas.
antonio.fischetti at intel.com
antonio.fischetti at intel.com
Thu Sep 28 14:28:12 UTC 2017
From: Antonio Fischetti <antonio.fischetti at intel.com>
Skip initialization of mempool objects if this was already
done in a previous call to dpdk_mp_create.
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 dda3771..25fb9a8 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -550,6 +550,11 @@ dpdk_mp_create(struct netdev_dpdk *dev, int mtu)
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)
}
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