mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
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. CC: Darrell Ball <dlu998@gmail.com> CC: Ciara Loftus <ciara.loftus@intel.com> CC: Aaron Conole <aconole@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Acked-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Signed-off-by: Antonio Fischetti <antonio.fischetti@intel.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
This commit is contained in:
committed by
Ian Stokes
parent
f06546a51d
commit
837c1761be
@@ -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) &&
|
||||
|
Reference in New Issue
Block a user