Re: [PATCH v3 3/3] selftests: pidfd: add tests for PIDFD_SELF_*

Shuah Khan
2025-05-06T21:18:09Z

On 5/1/25 05:42, Peter Zijlstra wrote:
> On Wed, Oct 16, 2024 at 07:14:34PM -0700, John Hubbard wrote:
>> On 10/16/24 3:06 PM, Lorenzo Stoakes wrote:
>>> On Wed, Oct 16, 2024 at 02:00:27PM -0600, Shuah Khan wrote:
>>>> On 10/16/24 04:20, Lorenzo Stoakes wrote:
>> ...
>>>>> diff --git a/tools/testing/selftests/pidfd/pidfd.h b/tools/testing/selftests/pidfd/pidfd.h
>>>>> index 88d6830ee004..1640b711889b 100644
>>>>> --- a/tools/testing/selftests/pidfd/pidfd.h
>>>>> +++ b/tools/testing/selftests/pidfd/pidfd.h
>>>>> @@ -50,6 +50,14 @@
>>>>> #define PIDFD_NONBLOCK O_NONBLOCK
>>>>> #endif
>>>>> +/* System header file may not have this available. */
>>>>> +#ifndef PIDFD_SELF_THREAD
>>>>> +#define PIDFD_SELF_THREAD -100
>>>>> +#endif
>>>>> +#ifndef PIDFD_SELF_THREAD_GROUP
>>>>> +#define PIDFD_SELF_THREAD_GROUP -200
>>>>> +#endif
>>>>> +
>>>>
>>>> As mentioned in my response to v1 patch:
>>>>
>>>> kselftest has dependency on "make headers" and tests include
>>>> headers from linux/ directory
>>>
>>> Right but that assumes you install the kernel headers on the build system,
>>> which is quite a painful thing to have to do when you are quickly iterating
>>> on a qemu setup.
>>>
>>> This is a use case I use all the time so not at all theoretical.
>>>
>>
>> This is turning out to be a fairly typical reaction from kernel
>> developers, when presented with the "you must first run make headers"
>> requirement for kselftests.
>>
>> Peter Zijlstra's "NAK NAK NAK" response [1] last year was the most
>> colorful, so I'll helpfully cite it here. :)
>
> Let me re-try this.
>
> This is driving me insane. I've spend the past _TWO_ days trying to
> build KVM selftests and I'm still failing.
>
> This is absolute atrocious crap and is costing me valuable time.
>
> Please fix this fucking selftests shit to just build. This is unusable
> garbage.

I don't recall all the reasons why kselftests needed "make headers"
One reason I could think of was that when a new test depends on a
header change, the test won't build unless headers are installed.

If this requirement is causing problems for tests that don't fall
into the category and we probably have more of them mow, we can
clean that up.

John, you mentioned you got mm tests working without headers?
Can you share the commit here.

thanks,
-- Shuah