On 9/26/17, 8:05 AM, "ovs-dev-boun...@openvswitch.org on behalf of antonio.fische...@intel.com" <ovs-dev-boun...@openvswitch.org on behalf of antonio.fische...@intel.com> wrote:
Skip initialization of mempool objects if this was already done in a previous call to dpdk_mp_create. CC: Ciara Loftus <ciara.lof...@intel.com> CC: Kevin Traynor <ktray...@redhat.com> CC: Aaron Conole <acon...@redhat.com> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> --- lib/netdev-dpdk.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 2f5ec71..f3f42ee 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -566,12 +566,15 @@ 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); - + /* If the current mp was already created by a previous call + * we don't need to init again all its elements. */ + if (!mp_exists) { + /* 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); [Darrell] Can this be moved inside if (dmp->mp) { VLOG_DBG("Allocated \"%s\" mempool with %u mbufs", mp_name, dmp->mp_size); }….. for clarity? + } return dmp; } } while (!mp_exists && -- 2.4.11 _______________________________________________ dev mailing list d...@openvswitch.org https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=Bf45eQULq41ut2PpTtt6Dah9xN86c0suku7rL1WVaTs&s=2HhdsumV1sIAkn7BT6u3jzjIPghy-48d2IgkqXemk8c&e= _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev