public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Shuah Khan <skhan@linuxfoundation.org>
To: John Hubbard <jhubbard@nvidia.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Christian Brauner <christian@brauner.io>,
	Peter Zijlstra <peterz@infradead.org>
Cc: Shuah Khan <shuah@kernel.org>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	pedro.falcato@gmail.com, linux-kselftest@vger.kernel.org,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
	linux-api@vger.kernel.org, linux-kernel@vger.kernel.org,
	Oliver Sang <oliver.sang@intel.com>,
	Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: The "make headers" requirement, revisited: [PATCH v3 3/3] selftests: pidfd: add tests for PIDFD_SELF_*
Date: Thu, 17 Oct 2024 10:33:38 -0600	[thread overview]
Message-ID: <e0b9d4ad-0d47-499a-9ec8-7307b67cae5c@linuxfoundation.org> (raw)
In-Reply-To: <6dd57f0e-34b4-4456-854b-a8abdba9163b@nvidia.com>

On 10/16/24 20:01, John Hubbard wrote:
> On 10/16/24 1:00 PM, 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
> 
> Wait, what?! Noooo!
> 
> Hi, Shuah! :)
> 
> We have had this conversation before. And there were fireworks coming from
> various core kernel developers who found that requirement to be unacceptable.
> 
> And in response, I made at selftests/mm tests buildable *without* requiring
> a "make headers" first, in [1].
> 
> I haven't followed up with other subsystems, but...maybe I should. Because
> otherwise we're just going to keep having this discussion.
> 
> The requirement to do "make headers" is not a keeper. Really.

The reason we added the requirement to avoid duplicate defines
such as this one added to kselftest source files. These are
error prone and hard to resolve.

In some cases, these don't become uapi and don't make it into
system headers. selftests are in a category of depending on
kernel headers to be able to test some features.

Getting rid of this dependency mean, tests will be full of local
defines such as this one which will become unmanageable overtime.

The discussion should be: "How do we get rid of the dependency without
introducing local defines?" not just "Let's get rid of the dependency"

thanks,
-- Shuah

  reply	other threads:[~2024-10-17 16:33 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-16 10:20 [PATCH v3 0/3] introduce PIDFD_SELF* sentinels Lorenzo Stoakes
2024-10-16 10:20 ` [PATCH v3 1/3] pidfd: extend pidfd_get_pid() and de-duplicate pid lookup Lorenzo Stoakes
2024-10-16 10:20 ` [PATCH v3 2/3] pidfd: add PIDFD_SELF_* sentinels to refer to own thread/process Lorenzo Stoakes
2024-10-16 10:20 ` [PATCH v3 3/3] selftests: pidfd: add tests for PIDFD_SELF_* Lorenzo Stoakes
2024-10-16 20:00   ` Shuah Khan
2024-10-16 22:06     ` Lorenzo Stoakes
2024-10-16 22:30       ` Lorenzo Stoakes
2024-10-16 22:38       ` Shuah Khan
2024-10-17  8:08         ` Lorenzo Stoakes
2024-10-17 12:06           ` Lorenzo Stoakes
2024-10-17 17:17             ` John Hubbard
2024-10-17 17:28               ` Lorenzo Stoakes
2024-10-17 17:37                 ` John Hubbard
2024-10-17 17:38                   ` Lorenzo Stoakes
2024-10-17 19:37                     ` Shuah Khan
2024-10-17 19:40                       ` Lorenzo Stoakes
2024-10-17  2:14       ` John Hubbard
2024-10-17  7:54         ` Lorenzo Stoakes
2025-05-01 11:42         ` Peter Zijlstra
2025-05-01 12:46           ` Peter Zijlstra
2025-05-01 19:50             ` Sean Christopherson
2025-05-05 13:35             ` Christian Brauner
2025-05-06  9:28               ` Lorenzo Stoakes
2026-02-13 11:02             ` Peter Zijlstra
2025-05-06 21:18           ` Shuah Khan
2025-05-06 21:34             ` John Hubbard
2025-05-07 20:49               ` Shuah Khan
2024-10-17  2:01     ` The "make headers" requirement, revisited: " John Hubbard
2024-10-17 16:33       ` Shuah Khan [this message]
2024-10-17 16:47         ` John Hubbard
2025-05-07 20:50           ` Shuah Khan
2025-05-08 14:04             ` Sean Christopherson
2025-05-08 15:06               ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e0b9d4ad-0d47-499a-9ec8-7307b67cae5c@linuxfoundation.org \
    --to=skhan@linuxfoundation.org \
    --cc=Liam.Howlett@oracle.com \
    --cc=christian@brauner.io \
    --cc=jhubbard@nvidia.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=oliver.sang@intel.com \
    --cc=pedro.falcato@gmail.com \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox