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

From: Shuah Khan
Date: Thu Sep 14 2017 - 11:01:36 EST


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 <thomas@xxxxxxxx>
>>
>> Thanks for the fix. lgtm
>> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx>
>
> Looks good from here as well:
>
> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
>
>> 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
>>>
>
>
>