Re: [ovs-dev] [PATCH 2/4] netdev-dpdk: if mempool already exists don't reinit packet areas.

2017-09-28 Thread Fischetti, Antonio

> -Original Message-
> From: Darrell Ball [mailto:db...@vmware.com]
> Sent: Tuesday, September 26, 2017 9:02 PM
> To: Fischetti, Antonio <antonio.fische...@intel.com>; d...@openvswitch.org
> Subject: Re: [ovs-dev] [PATCH 2/4] netdev-dpdk: if mempool already exists 
> don't
> reinit packet areas.
> 
> 
> 
> 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?

[Antonio] Thanks, that makes the code more readable too.


> 
> 
> +}
>  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=DwICAg=uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-
> uZnsw=Bf45eQULq41ut2PpTtt6Dah9xN86c0suku7rL1WVaTs=2HhdsumV1sIAkn7BT6u3jzjIP
> ghy-48d2IgkqXemk8c=
> 

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH 2/4] netdev-dpdk: if mempool already exists don't reinit packet areas.

2017-09-26 Thread Darrell Ball


On 9/26/17, 8:05 AM, "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 
CC: Kevin Traynor 
CC: Aaron Conole 
Signed-off-by: Antonio Fischetti 
---
 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=DwICAg=uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-uZnsw=Bf45eQULq41ut2PpTtt6Dah9xN86c0suku7rL1WVaTs=2HhdsumV1sIAkn7BT6u3jzjIPghy-48d2IgkqXemk8c=
 


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 2/4] netdev-dpdk: if mempool already exists don't reinit packet areas.

2017-09-26 Thread antonio . fischetti
Skip initialization of mempool objects if this was already
done in a previous call to dpdk_mp_create.

CC: Ciara Loftus 
CC: Kevin Traynor 
CC: Aaron Conole 
Signed-off-by: Antonio Fischetti 
---
 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);
+}
 return dmp;
 }
 } while (!mp_exists &&
-- 
2.4.11

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev