linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: John Hubbard <jhubbard@nvidia.com>
To: Jeff Xu <jeffxu@chromium.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Shuah Khan <shuah@kernel.org>, Andrei Vagin <avagin@google.com>,
	Axel Rasmussen <axelrasmussen@google.com>,
	Christian Brauner <brauner@kernel.org>,
	David Hildenbrand <david@redhat.com>, Kees Cook <kees@kernel.org>,
	Kent Overstreet <kent.overstreet@linux.dev>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Muhammad Usama Anjum <usama.anjum@collabora.com>,
	Peter Xu <peterx@redhat.com>, Rich Felker <dalias@libc.org>,
	linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/5] cleanups, fixes, and progress towards avoiding "make headers"
Date: Mon, 10 Jun 2024 21:33:35 -0700	[thread overview]
Message-ID: <a8f9d4e2-8a12-4e5d-bd22-9c92955135f4@nvidia.com> (raw)
In-Reply-To: <CABi2SkVoNyXLrfU71gnv1qVUAADpUmFXiDoKKPc54MLb5JpB+Q@mail.gmail.com>

On 6/10/24 9:21 PM, Jeff Xu wrote:
> Hi
> 
> 
> On Fri, Jun 7, 2024 at 7:10 PM John Hubbard <jhubbard@nvidia.com> wrote:
>>
>> Eventually, once the build succeeds on a sufficiently old distro, the
>> idea is to delete $(KHDR_INCLUDES) from the selftests/mm build, and then
>> after that, from selftests/lib.mk and all of the other selftest builds.
>>
>> For now, this series merely achieves a clean build of selftests/mm on a
>> not-so-old distro: Ubuntu 23.04:
>>
>> 1. Add __NR_mseal.
>>
>> 2. Add fs.h, taken as usual from a snapshot of ./usr/include/linux/fs.h
>> after running "make headers". This is how we have agreed to do this sort
>> of thing, see [1].
>>
> What is the "official" way to build selftests/mm ?

 From Documentation/dev-tools/kselftest.rst, it is:

   $ make headers
   $ make -C tools/testing/selftests

> I tried a few ways, but it never worked, i.e. due to head missing.

You are correct. Today's rules require "make headers" first. But
I'm working on getting rid of that requirement, because it causes
problems for some people and situations.

(Even worse is the follow-up rule, in today's documentation,
that tells us to *run* the selftests from within Make! This
is just madness. Because the tests need to run as root in
many cases. And Make will try to rebuild if necessary...thus
filling your tree full of root-owned files...but that's for
another time.)

> 
> 1>
> cd tools/testing/selftests/mm
> make
> 
> migration.c:10:10: fatal error: numa.h: No such file or directory
>     10 | #include <numa.h>
>        |          ^~~~~~~~
> compilation terminated.
> 
> 2>
> make headers
> make -C tools/testing/selftests
> 
> make[1]: Entering directory
> '/usr/local/google/home/jeffxu/mm/tools/testing/selftests/mm'
>    CC       migration
> migration.c:10:10: fatal error: numa.h: No such file or directory
>     10 | #include <numa.h>
> 

Well, actually, for these, one should install libnuma-dev and
numactl (those are Ubuntu package names. Arch Linux would be:
numactl).

I think. The idea is: use system headers if they are there, and
local kernel tree header files if the items are so new that they
haven't made it to $OLDEST_DISTO_REASONABLE.

Something like that.

So if you systematically install various packages on your machine,
then apply the various patches that I have floating around, then
you will be able to build selftests/mm without "make headers", at
this point. Or so I claim.

thanks,
-- 
John Hubbard
NVIDIA



  reply	other threads:[~2024-06-11  4:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-08  2:10 John Hubbard
2024-06-08  2:10 ` [PATCH 1/5] selftests/mm: mseal, self_elf: fix missing __NR_mseal John Hubbard
2024-06-11  4:26   ` Jeff Xu
2024-06-08  2:10 ` [PATCH 2/5] selftests/mm: fix vm_util.c build failures: add snapshot of fs.h John Hubbard
2024-06-08  2:10 ` [PATCH 3/5] mm/selftests: kvm, mdwe fixes to avoid requiring "make headers" John Hubbard
2024-06-08  2:15   ` John Hubbard
2024-06-08  2:10 ` [PATCH 4/5] selftests/mm: mseal, self_elf: factor out test macros and other duplicated items John Hubbard
2024-06-11  4:26   ` Jeff Xu
2024-06-08  2:10 ` [PATCH 5/5] selftests/mm: mseal, self_elf: rename TEST_END_CHECK to REPORT_TEST_PASS John Hubbard
2024-06-11  4:27   ` Jeff Xu
2024-06-11  4:34     ` John Hubbard
2024-06-11  4:21 ` [PATCH 0/5] cleanups, fixes, and progress towards avoiding "make headers" Jeff Xu
2024-06-11  4:33   ` John Hubbard [this message]
2024-06-11  4:45     ` Jeff Xu
2024-06-11  6:25       ` John Hubbard
2024-06-11  9:31         ` David Hildenbrand
2024-06-11 14:13         ` Jeff Xu
2024-06-11  9:36 ` David Hildenbrand
2024-06-11 20:54   ` John Hubbard
2024-06-12  8:24     ` David Hildenbrand
2024-06-13  2:11       ` John Hubbard
2024-06-13 21:27         ` John Hubbard
2024-06-14 11:42           ` David Hildenbrand

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=a8f9d4e2-8a12-4e5d-bd22-9c92955135f4@nvidia.com \
    --to=jhubbard@nvidia.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=avagin@google.com \
    --cc=axelrasmussen@google.com \
    --cc=brauner@kernel.org \
    --cc=dalias@libc.org \
    --cc=david@redhat.com \
    --cc=jeffxu@chromium.org \
    --cc=kees@kernel.org \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.com \
    --cc=shuah@kernel.org \
    --cc=usama.anjum@collabora.com \
    /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