app/testpmd: Optimize membuf pool allocation

Message ID 1535362398-6526-1-git-send-email-phil.yang@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series app/testpmd: Optimize membuf pool allocation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Phil Yang Aug. 27, 2018, 9:33 a.m. UTC
  By default, testpmd will create membuf pool for all NUMA nodes and
ignore EAL configuration.

Count the number of available NUMA according to EAL core mask or core
list configuration. Optimized by only creating membuf pool for those
nodes.

Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")

Signed-off-by: Phil Yang <phil.yang@arm.com>
---
 app/test-pmd/testpmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Gavin Hu Aug. 27, 2018, 9:39 a.m. UTC | #1
> -----Original Message-----
> From: Phil Yang <phil.yang@arm.com>
> Sent: Monday, August 27, 2018 5:33 PM
> To: dev@dpdk.org
> Cc: nd <nd@arm.com>; Gavin Hu <Gavin.Hu@arm.com>
> Subject: [PATCH] app/testpmd: Optimize membuf pool allocation
> 
> By default, testpmd will create membuf pool for all NUMA nodes and ignore
> EAL configuration.
> 
> Count the number of available NUMA according to EAL core mask or core list
> configuration. Optimized by only creating membuf pool for those nodes.
> 
> Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>

Acked-by: Gavin Hu <gavin.hu@arm.com>

> ---
>  app/test-pmd/testpmd.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> ee48db2..a56af2b 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -476,6 +476,8 @@ set_default_fwd_lcores_config(void)
> 
>  	nb_lc = 0;
>  	for (i = 0; i < RTE_MAX_LCORE; i++) {
> +		if (!rte_lcore_is_enabled(i))
> +			continue;
>  		sock_num = rte_lcore_to_socket_id(i);
>  		if (new_socket_id(sock_num)) {
>  			if (num_sockets >= RTE_MAX_NUMA_NODES) { @@ -
> 485,8 +487,6 @@ set_default_fwd_lcores_config(void)
>  			}
>  			socket_ids[num_sockets++] = sock_num;
>  		}
> -		if (!rte_lcore_is_enabled(i))
> -			continue;
>  		if (i == rte_get_master_lcore())
>  			continue;
>  		fwd_lcores_cpuids[nb_lc++] = i;
> --
> 2.7.4
  
Iremonger, Bernard Sept. 11, 2018, 4:23 p.m. UTC | #2
Hi Gavin,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org]
> Sent: Monday, August 27, 2018 10:33 AM
> To: dev@dpdk.org
> Cc: nd@arm.com; gavin.hu@arm.com
> Subject: [dpdk-dev] [PATCH] app/testpmd: Optimize membuf pool allocation
> 
> By default, testpmd will create membuf pool for all NUMA nodes and ignore EAL
> configuration.
> 
> Count the number of available NUMA according to EAL core mask or core list
> configuration. Optimized by only creating membuf pool for those nodes.
> 
> Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>
> ---
>  app/test-pmd/testpmd.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> ee48db2..a56af2b 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -476,6 +476,8 @@ set_default_fwd_lcores_config(void)
> 
>  	nb_lc = 0;
>  	for (i = 0; i < RTE_MAX_LCORE; i++) {
> +		if (!rte_lcore_is_enabled(i))
> +			continue;
>  		sock_num = rte_lcore_to_socket_id(i);
>  		if (new_socket_id(sock_num)) {
>  			if (num_sockets >= RTE_MAX_NUMA_NODES) { @@ -
> 485,8 +487,6 @@ set_default_fwd_lcores_config(void)
>  			}
>  			socket_ids[num_sockets++] = sock_num;
>  		}
> -		if (!rte_lcore_is_enabled(i))
> -			continue;
>  		if (i == rte_get_master_lcore())
>  			continue;
>  		fwd_lcores_cpuids[nb_lc++] = i;
> --
> 2.7.4

./dpdk/devtools/check-git-log.sh -1

Wrong headline uppercase:
        app/testpmd: Optimize membuf pool allocation
Wrong 'Fixes' reference:
        Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")

Regards,

Bernard.
  
Phil Yang Sept. 12, 2018, 1:59 a.m. UTC | #3
Hi Bernard,

Thanks for you comments. I have updated the patch. Please review it.

Thanks,
Phil Yang

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Iremonger, Bernard
> Sent: Wednesday, September 12, 2018 12:23 AM
> To: dev <dev-bounces@dpdk.org>; dev@dpdk.org
> Cc: nd <nd@arm.com>; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: Optimize membuf pool allocation
> 
> Hi Gavin,
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org]
> > Sent: Monday, August 27, 2018 10:33 AM
> > To: dev@dpdk.org
> > Cc: nd@arm.com; gavin.hu@arm.com
> > Subject: [dpdk-dev] [PATCH] app/testpmd: Optimize membuf pool
> > allocation
> >
> > By default, testpmd will create membuf pool for all NUMA nodes and
> > ignore EAL configuration.
> >
> > Count the number of available NUMA according to EAL core mask or core
> > list configuration. Optimized by only creating membuf pool for those nodes.
> >
> > Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")
> >
> > Signed-off-by: Phil Yang <phil.yang@arm.com>
> > ---
> >  app/test-pmd/testpmd.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> > ee48db2..a56af2b 100644
> > --- a/app/test-pmd/testpmd.c
> > +++ b/app/test-pmd/testpmd.c
> > @@ -476,6 +476,8 @@ set_default_fwd_lcores_config(void)
> >
> >  	nb_lc = 0;
> >  	for (i = 0; i < RTE_MAX_LCORE; i++) {
> > +		if (!rte_lcore_is_enabled(i))
> > +			continue;
> >  		sock_num = rte_lcore_to_socket_id(i);
> >  		if (new_socket_id(sock_num)) {
> >  			if (num_sockets >= RTE_MAX_NUMA_NODES) { @@ -
> > 485,8 +487,6 @@ set_default_fwd_lcores_config(void)
> >  			}
> >  			socket_ids[num_sockets++] = sock_num;
> >  		}
> > -		if (!rte_lcore_is_enabled(i))
> > -			continue;
> >  		if (i == rte_get_master_lcore())
> >  			continue;
> >  		fwd_lcores_cpuids[nb_lc++] = i;
> > --
> > 2.7.4
> 
> ./dpdk/devtools/check-git-log.sh -1
> 
> Wrong headline uppercase:
>         app/testpmd: Optimize membuf pool allocation Wrong 'Fixes' reference:
>         Fixes: d5aeab6542f ("app/testpmd: fix mempool creation by socket id")
> 
> Regards,
> 
> Bernard.
>
  

Patch

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index ee48db2..a56af2b 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -476,6 +476,8 @@  set_default_fwd_lcores_config(void)
 
 	nb_lc = 0;
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
+		if (!rte_lcore_is_enabled(i))
+			continue;
 		sock_num = rte_lcore_to_socket_id(i);
 		if (new_socket_id(sock_num)) {
 			if (num_sockets >= RTE_MAX_NUMA_NODES) {
@@ -485,8 +487,6 @@  set_default_fwd_lcores_config(void)
 			}
 			socket_ids[num_sockets++] = sock_num;
 		}
-		if (!rte_lcore_is_enabled(i))
-			continue;
 		if (i == rte_get_master_lcore())
 			continue;
 		fwd_lcores_cpuids[nb_lc++] = i;