Re: [tip: locking/core] locking/futex/selftests: Remove duplicate ABI defines

From: Muhammad Usama Anjum
Date: Fri Oct 06 2023 - 07:05:46 EST


On 10/6/23 4:04 PM, Ingo Molnar wrote:
>
> * Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
>>
>> * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>>
>>> On Fri, Oct 06, 2023 at 10:32:20AM -0000, tip-bot2 for Muhammad Usama Anjum wrote:
>>>> The following commit has been merged into the locking/core branch of tip:
>>>>
>>>> Commit-ID: d351a9e56cc90a9ff694550e4b3bcaf51a391525
>>>> Gitweb: https://git.kernel.org/tip/d351a9e56cc90a9ff694550e4b3bcaf51a391525
>>>> Author: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
>>>> AuthorDate: Fri, 06 Oct 2023 14:55:37 +05:00
>>>> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
>>>> CommitterDate: Fri, 06 Oct 2023 12:29:45 +02:00
>>>>
>>>> locking/futex/selftests: Remove duplicate ABI defines
>>>>
>>>> Kselftests are kernel tests that are built with kernel headers
>>>> from the same source version. The kernel headers, which includes
>>>> current ABI definitions, are already being included correctly
>>>> in the futex selftest Makefile with the help of KHDR_INCLUDE,
>>>> no need to define them again.
>>>>
>>>> Remove duplicate ABI definitions, which is effectively dead code.
>>>>
>>>> No functional changes intended.
>>>
>>> so.. as it happens I recently built these things as stand-alone, and
>>> then you ver much end up using the system headers.
>>>
>>> Also see 20230922205449.808782861@xxxxxxxxxxxxx where I add more of
>>> this.
>>>
>>> Specifically, if one does:
>>>
>>> cd tools/testing/selftests/futex/functional; make
>>>
>>> You don't get kernel headers and stuff does not build.
>>
>> Hm, I did this after applying the patch, and it does work,
>> but maybe I missed that those definitions were picked up
>> from system headers...
>>
>> So how about we make sure current kernel headers are applied
>> correctly in a 'standalone' build? There's no reason they
>> shouldn't be.
>
> Anyway, I've removed this patch from tip:locking/core until
> this is cleared up, as your usecase is obviously a valid one ...

These days a error should appear if the kernel headers aren't found at
build time of kselftests. After building headers, kselftests should be build.

➜ functional (06bc8fe4bfc4b) ✗ pwd
/linux_mainline/tools/testing/selftests/futex/functional
➜ functional (06bc8fe4bfc4b) ✗ make

-e error: missing kernel header files.
Please run this and try again:

cd /linux_mainline/tools/testing/selftests/../../..
make headers

make: *** [../../lib.mk:81: kernel_header_files] Error 1
➜ functional (06bc8fe4bfc4b) ✗ (cd $mainline && make headers) > /dev/null
➜ functional (06bc8fe4bfc4b) ✗ make
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../
futex_wait_timeout.c -lpthread -lrt -o
/linux_mainline/tools/testing/selftests/futex/functional/futex_wait_timeout

Before and after applying this patch the behavior is same. I'm doing
testing on next-20231005.

>
> Thanks,
>
> Ingo

--
BR,
Muhammad Usama Anjum