[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABi2SkU8=tjWhD-e=OdiVr+YeU+BZZLB_vMfkNb-VWpbP2xcng@mail.gmail.com>
Date: Mon, 10 Jun 2024 21:45:58 -0700
From: Jeff Xu <jeffxu@...omium.org>
To: John Hubbard <jhubbard@...dia.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, Shuah Khan <shuah@...nel.org>,
Andrei Vagin <avagin@...gle.com>, Axel Rasmussen <axelrasmussen@...gle.com>,
Christian Brauner <brauner@...nel.org>, David Hildenbrand <david@...hat.com>, Kees Cook <kees@...nel.org>,
Kent Overstreet <kent.overstreet@...ux.dev>, "Liam R . Howlett" <Liam.Howlett@...cle.com>,
Muhammad Usama Anjum <usama.anjum@...labora.com>, Peter Xu <peterx@...hat.com>,
Rich Felker <dalias@...c.org>, linux-mm@...ck.org, linux-kselftest@...r.kernel.org,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/5] cleanups, fixes, and progress towards avoiding "make headers"
On Mon, Jun 10, 2024 at 9:34 PM John Hubbard <jhubbard@...dia.com> wrote:
>
> On 6/10/24 9:21 PM, Jeff Xu wrote:
> > Hi
> >
> >
> > On Fri, Jun 7, 2024 at 7:10 PM John Hubbard <jhubbard@...dia.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.
That is hilarious! :)
> 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.
>
But I don't want to install random packages if possible.
Can makefile rule continue to the next target in case of failure though ?
right now it stopped at migration.c , if it continues to the next target, then
I don't need to use gcc to manually build mseal_test.
> 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
>
Thanks
-Jeff
Powered by blists - more mailing lists