[dpdk-dev] test/eal_flags: Optimize memory flags test

Message ID 1517883698-12921-1-git-send-email-phil.yang@arm.com
State Accepted, archived
Delegated to: Thomas Monjalon
Headers show

Checks

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

Commit Message

Phil Yang (Arm Technology China) Feb. 6, 2018, 2:21 a.m.
Since RTE_MAX_NUMA_NODES is configurable, the existing socket number
could greater than RTE_MAX_NUMA_NODES. Optimize test case to cover this
situation.(i.e RTE_MAX_NUMA_NODES=1)

Fixes: 45f1b6e8680a ('app: add new tests on eal flags')

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

Comments

Thomas Monjalon April 25, 2018, 5:07 p.m. | #1
Hi,

Your patch has been forgotten for months.
Do not hesitate to ping if no reply.

I have a question below.

06/02/2018 03:21, Phil Yang:
> --- a/test/test/test_eal_flags.c
> +++ b/test/test/test_eal_flags.c
> -#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 10)
> +#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 20)

Why the above change?

> @@ -1138,10 +1138,11 @@ test_memory_flags(void)
> -	int i, num_sockets = get_number_of_sockets();
> +	int i, num_sockets = RTE_MIN(get_number_of_sockets(),
> +			RTE_MAX_NUMA_NODES);
>  #endif
>  
> -	if (num_sockets <= 0 || num_sockets > RTE_MAX_NUMA_NODES) {
> +	if (num_sockets <= 0) {
>  		printf("Error - cannot get number of sockets!\n");
>  		return -1;
>  	}
>
Phil Yang (Arm Technology China) April 26, 2018, 2:19 a.m. | #2
Hi Thomas,

That change just want to make sure below two buffers have enough space when configure RTE_MAX_NUMA_NODES=1.

/* construct an invalid socket mask with 2 megs on each socket plus
  * extra 2 megs on socket that doesn't exist on current system */
char invalid_socket_mem[SOCKET_MEM_STRLEN];
char buf[SOCKET_MEM_STRLEN];>   /* to avoid copying string onto itself */

Thanks,
Phil Yang

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, April 26, 2018 1:07 AM
> To: Phil Yang <Phil.Yang@arm.com>
> Cc: dev@dpdk.org; nd <nd@arm.com>; anatoly.burakov@intel.com; Herbert
> Guan <Herbert.Guan@arm.com>
> Subject: Re: [dpdk-dev] [PATCH] test/eal_flags: Optimize memory flags test
> 
> Hi,
> 
> Your patch has been forgotten for months.
> Do not hesitate to ping if no reply.
> 
> I have a question below.
> 
> 06/02/2018 03:21, Phil Yang:
> > --- a/test/test/test_eal_flags.c
> > +++ b/test/test/test_eal_flags.c
> > -#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 10)
> > +#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 20)
> 
> Why the above change?
> 
> > @@ -1138,10 +1138,11 @@ test_memory_flags(void)
> > -	int i, num_sockets = get_number_of_sockets();
> > +	int i, num_sockets = RTE_MIN(get_number_of_sockets(),
> > +			RTE_MAX_NUMA_NODES);
> >  #endif
> >
> > -	if (num_sockets <= 0 || num_sockets > RTE_MAX_NUMA_NODES) {
> > +	if (num_sockets <= 0) {
> >  		printf("Error - cannot get number of sockets!\n");
> >  		return -1;
> >  	}
> >
> 
> 
> 
>
Thomas Monjalon April 26, 2018, 4:06 p.m. | #3
06/02/2018 03:21, Phil Yang:
> Since RTE_MAX_NUMA_NODES is configurable, the existing socket number
> could greater than RTE_MAX_NUMA_NODES. Optimize test case to cover this
> situation.(i.e RTE_MAX_NUMA_NODES=1)
> 
> Fixes: 45f1b6e8680a ('app: add new tests on eal flags')

Cc: stable@dpdk.org

> Signed-off-by: Phil Yang <phil.yang@arm.com>

Applied, thanks

Updated title:
	test: fix memory flags test for low NUMA nodes number

Patch

diff --git a/test/test/test_eal_flags.c b/test/test/test_eal_flags.c
index 37c42ef..7df0b8f 100644
--- a/test/test/test_eal_flags.c
+++ b/test/test/test_eal_flags.c
@@ -33,7 +33,7 @@ 
 #define memtest "memtest"
 #define memtest1 "memtest1"
 #define memtest2 "memtest2"
-#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 10)
+#define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 20)
 #define launch_proc(ARGV) process_dup(ARGV, \
 		sizeof(ARGV)/(sizeof(ARGV[0])), __func__)
 
@@ -1138,10 +1138,11 @@  test_memory_flags(void)
 #ifdef RTE_EXEC_ENV_BSDAPP
 	int i, num_sockets = 1;
 #else
-	int i, num_sockets = get_number_of_sockets();
+	int i, num_sockets = RTE_MIN(get_number_of_sockets(),
+			RTE_MAX_NUMA_NODES);
 #endif
 
-	if (num_sockets <= 0 || num_sockets > RTE_MAX_NUMA_NODES) {
+	if (num_sockets <= 0) {
 		printf("Error - cannot get number of sockets!\n");
 		return -1;
 	}