Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

2017-09-19 Thread Shuah Khan
On 09/14/2017 09:01 AM, Shuah Khan wrote:
> On 09/08/2017 05:05 PM, Daniel Borkmann wrote:
>> On 09/09/2017 01:01 AM, Alexei Starovoitov wrote:
>>> On Fri, Sep 08, 2017 at 01:19:23PM +0200, Thomas Meyer wrote:
 The current implementation fails to work on uniprocessor systems.
 Fix the parser to also handle the uniprocessor case.

 Signed-off-by: Thomas Meyer 
>>>
>>> Thanks for the fix. lgtm
>>> Acked-by: Alexei Starovoitov 
>>
>> Looks good from here as well:
>>
>> Acked-by: Daniel Borkmann 
>>
>>> This time it's ok to go via selftest tree, but next time please use 
>>> net-next/net
>>> to avoid conflicts.
>>
>> +1
>>
>>> Thanks
> 
> Thank you. I will get this into 4.14-rc2 or rc3.
> 

Applied to linux-kselftest fixes for 4.14-rc2

thanks,
-- Shuah



Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

2017-09-14 Thread Shuah Khan
On 09/08/2017 05:05 PM, Daniel Borkmann wrote:
> On 09/09/2017 01:01 AM, Alexei Starovoitov wrote:
>> On Fri, Sep 08, 2017 at 01:19:23PM +0200, Thomas Meyer wrote:
>>> The current implementation fails to work on uniprocessor systems.
>>> Fix the parser to also handle the uniprocessor case.
>>>
>>> Signed-off-by: Thomas Meyer 
>>
>> Thanks for the fix. lgtm
>> Acked-by: Alexei Starovoitov 
> 
> Looks good from here as well:
> 
> Acked-by: Daniel Borkmann 
> 
>> This time it's ok to go via selftest tree, but next time please use 
>> net-next/net
>> to avoid conflicts.
> 
> +1
> 
>> Thanks

Thank you. I will get this into 4.14-rc2 or rc3.

thanks,
-- Shuah
>>
>>> ---
>>>   tools/testing/selftests/bpf/bpf_util.h | 17 +
>>>   1 file changed, 9 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/bpf/bpf_util.h 
>>> b/tools/testing/selftests/bpf/bpf_util.h
>>> index 20ecbaa0d85d..6c53a8906eff 100644
>>> --- a/tools/testing/selftests/bpf/bpf_util.h
>>> +++ b/tools/testing/selftests/bpf/bpf_util.h
>>> @@ -12,6 +12,7 @@ static inline unsigned int bpf_num_possible_cpus(void)
>>>   unsigned int start, end, possible_cpus = 0;
>>>   char buff[128];
>>>   FILE *fp;
>>> +int n;
>>>
>>>   fp = fopen(fcpu, "r");
>>>   if (!fp) {
>>> @@ -20,17 +21,17 @@ static inline unsigned int bpf_num_possible_cpus(void)
>>>   }
>>>
>>>   while (fgets(buff, sizeof(buff), fp)) {
>>> -if (sscanf(buff, "%u-%u", &start, &end) == 2) {
>>> -possible_cpus = start == 0 ? end + 1 : 0;
>>> -break;
>>> +n = sscanf(buff, "%u-%u", &start, &end);
>>> +if (n == 0) {
>>> +printf("Failed to retrieve # possible CPUs!\n");
>>> +exit(1);
>>> +} else if (n == 1) {
>>> +end = start;
>>>   }
>>> +possible_cpus = start == 0 ? end + 1 : 0;
>>> +break;
>>>   }
>>> -
>>>   fclose(fp);
>>> -if (!possible_cpus) {
>>> -printf("Failed to retrieve # possible CPUs!\n");
>>> -exit(1);
>>> -}
>>>
>>>   return possible_cpus;
>>>   }
>>> -- 
>>> 2.11.0
>>>
> 
> 
> 



Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

2017-09-08 Thread Daniel Borkmann

On 09/09/2017 01:01 AM, Alexei Starovoitov wrote:

On Fri, Sep 08, 2017 at 01:19:23PM +0200, Thomas Meyer wrote:

The current implementation fails to work on uniprocessor systems.
Fix the parser to also handle the uniprocessor case.

Signed-off-by: Thomas Meyer 


Thanks for the fix. lgtm
Acked-by: Alexei Starovoitov 


Looks good from here as well:

Acked-by: Daniel Borkmann 


This time it's ok to go via selftest tree, but next time please use net-next/net
to avoid conflicts.


+1


Thanks


---
  tools/testing/selftests/bpf/bpf_util.h | 17 +
  1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/bpf_util.h 
b/tools/testing/selftests/bpf/bpf_util.h
index 20ecbaa0d85d..6c53a8906eff 100644
--- a/tools/testing/selftests/bpf/bpf_util.h
+++ b/tools/testing/selftests/bpf/bpf_util.h
@@ -12,6 +12,7 @@ static inline unsigned int bpf_num_possible_cpus(void)
unsigned int start, end, possible_cpus = 0;
char buff[128];
FILE *fp;
+   int n;

fp = fopen(fcpu, "r");
if (!fp) {
@@ -20,17 +21,17 @@ static inline unsigned int bpf_num_possible_cpus(void)
}

while (fgets(buff, sizeof(buff), fp)) {
-   if (sscanf(buff, "%u-%u", &start, &end) == 2) {
-   possible_cpus = start == 0 ? end + 1 : 0;
-   break;
+   n = sscanf(buff, "%u-%u", &start, &end);
+   if (n == 0) {
+   printf("Failed to retrieve # possible CPUs!\n");
+   exit(1);
+   } else if (n == 1) {
+   end = start;
}
+   possible_cpus = start == 0 ? end + 1 : 0;
+   break;
}
-
fclose(fp);
-   if (!possible_cpus) {
-   printf("Failed to retrieve # possible CPUs!\n");
-   exit(1);
-   }

return possible_cpus;
  }
--
2.11.0





Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

2017-09-08 Thread Alexei Starovoitov
On Fri, Sep 08, 2017 at 01:19:23PM +0200, Thomas Meyer wrote:
> The current implementation fails to work on uniprocessor systems.
> Fix the parser to also handle the uniprocessor case.
> 
> Signed-off-by: Thomas Meyer 

Thanks for the fix. lgtm
Acked-by: Alexei Starovoitov 

This time it's ok to go via selftest tree, but next time please use net-next/net
to avoid conflicts.
Thanks

> ---
>  tools/testing/selftests/bpf/bpf_util.h | 17 +
>  1 file changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/bpf_util.h 
> b/tools/testing/selftests/bpf/bpf_util.h
> index 20ecbaa0d85d..6c53a8906eff 100644
> --- a/tools/testing/selftests/bpf/bpf_util.h
> +++ b/tools/testing/selftests/bpf/bpf_util.h
> @@ -12,6 +12,7 @@ static inline unsigned int bpf_num_possible_cpus(void)
>   unsigned int start, end, possible_cpus = 0;
>   char buff[128];
>   FILE *fp;
> + int n;
>  
>   fp = fopen(fcpu, "r");
>   if (!fp) {
> @@ -20,17 +21,17 @@ static inline unsigned int bpf_num_possible_cpus(void)
>   }
>  
>   while (fgets(buff, sizeof(buff), fp)) {
> - if (sscanf(buff, "%u-%u", &start, &end) == 2) {
> - possible_cpus = start == 0 ? end + 1 : 0;
> - break;
> + n = sscanf(buff, "%u-%u", &start, &end);
> + if (n == 0) {
> + printf("Failed to retrieve # possible CPUs!\n");
> + exit(1);
> + } else if (n == 1) {
> + end = start;
>   }
> + possible_cpus = start == 0 ? end + 1 : 0;
> + break;
>   }
> -
>   fclose(fp);
> - if (!possible_cpus) {
> - printf("Failed to retrieve # possible CPUs!\n");
> - exit(1);
> - }
>  
>   return possible_cpus;
>  }
> -- 
> 2.11.0
> 


[PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

2017-09-08 Thread Thomas Meyer
The current implementation fails to work on uniprocessor systems.
Fix the parser to also handle the uniprocessor case.

Signed-off-by: Thomas Meyer 
---
 tools/testing/selftests/bpf/bpf_util.h | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/bpf_util.h 
b/tools/testing/selftests/bpf/bpf_util.h
index 20ecbaa0d85d..6c53a8906eff 100644
--- a/tools/testing/selftests/bpf/bpf_util.h
+++ b/tools/testing/selftests/bpf/bpf_util.h
@@ -12,6 +12,7 @@ static inline unsigned int bpf_num_possible_cpus(void)
unsigned int start, end, possible_cpus = 0;
char buff[128];
FILE *fp;
+   int n;
 
fp = fopen(fcpu, "r");
if (!fp) {
@@ -20,17 +21,17 @@ static inline unsigned int bpf_num_possible_cpus(void)
}
 
while (fgets(buff, sizeof(buff), fp)) {
-   if (sscanf(buff, "%u-%u", &start, &end) == 2) {
-   possible_cpus = start == 0 ? end + 1 : 0;
-   break;
+   n = sscanf(buff, "%u-%u", &start, &end);
+   if (n == 0) {
+   printf("Failed to retrieve # possible CPUs!\n");
+   exit(1);
+   } else if (n == 1) {
+   end = start;
}
+   possible_cpus = start == 0 ? end + 1 : 0;
+   break;
}
-
fclose(fp);
-   if (!possible_cpus) {
-   printf("Failed to retrieve # possible CPUs!\n");
-   exit(1);
-   }
 
return possible_cpus;
 }
-- 
2.11.0