2022-08-19 19:43:59

by Axel Rasmussen

[permalink] [raw]
Subject: [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests

When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
changed the value of `top_srcdir`. This can be seen by looking at the
code removed by commit 49de12ba06ef
("selftests: drop KSFT_KHDR_INSTALL make target").

(Note though that this commit didn't break this, technically the one
before it did since that's the one that stopped KSFT_KHDR_INSTALL from
being used, even though the code was still there.)

Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
being used. Now, that's no longer the case.

As a result, the path to gup_test.h in vm/Makefile was wrong, and
since it's a dependency of all of the vm binaries none of them could
be built. Instead, we'd get an "error" like:

make[1]: *** No rule to make target
'/[...]/tools/testing/selftests/vm/compaction_test', needed by
'all'. Stop.

So, modify lib.mk so it once again sets top_srcdir to the root of the
kernel tree.

Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
Signed-off-by: Axel Rasmussen <[email protected]>
---
tools/testing/selftests/lib.mk | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 947fc72413e9..d44c72b3abe3 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -40,6 +40,7 @@ ifeq (0,$(MAKELEVEL))
endif
endif
selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
+top_srcdir = $(selfdir)/../../..

# The following are built by lib.mk common compile rules.
# TEST_CUSTOM_PROGS should be used by tests that require
--
2.37.1.595.g718a3a8f04-goog


2022-08-20 00:07:48

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests

On 8/19/22 1:19 PM, Axel Rasmussen wrote:
> When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
> changed the value of `top_srcdir`. This can be seen by looking at the
> code removed by commit 49de12ba06ef
> ("selftests: drop KSFT_KHDR_INSTALL make target").
>
> (Note though that this commit didn't break this, technically the one
> before it did since that's the one that stopped KSFT_KHDR_INSTALL from
> being used, even though the code was still there.)
>
> Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
> being used. Now, that's no longer the case.
>
> As a result, the path to gup_test.h in vm/Makefile was wrong, and
> since it's a dependency of all of the vm binaries none of them could
> be built. Instead, we'd get an "error" like:
>
> make[1]: *** No rule to make target
> '/[...]/tools/testing/selftests/vm/compaction_test', needed by
> 'all'. Stop.
>
> So, modify lib.mk so it once again sets top_srcdir to the root of the
> kernel tree.
>
> Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
> Signed-off-by: Axel Rasmussen <[email protected]>
> ---
> tools/testing/selftests/lib.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 947fc72413e9..d44c72b3abe3 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -40,6 +40,7 @@ ifeq (0,$(MAKELEVEL))
> endif
> endif
> selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
> +top_srcdir = $(selfdir)/../../..
>
> # The following are built by lib.mk common compile rules.
> # TEST_CUSTOM_PROGS should be used by tests that require
>

Applied to linux-kselftest fixes for the next rc.

thanks,
-- Shuah

2022-08-20 00:22:00

by John Hubbard

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests

On 8/19/22 12:19, Axel Rasmussen wrote:
> When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
> changed the value of `top_srcdir`. This can be seen by looking at the
> code removed by commit 49de12ba06ef
> ("selftests: drop KSFT_KHDR_INSTALL make target").
>
> (Note though that this commit didn't break this, technically the one
> before it did since that's the one that stopped KSFT_KHDR_INSTALL from
> being used, even though the code was still there.)
>
> Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
> being used. Now, that's no longer the case.
>
> As a result, the path to gup_test.h in vm/Makefile was wrong, and
> since it's a dependency of all of the vm binaries none of them could
> be built. Instead, we'd get an "error" like:
>
> make[1]: *** No rule to make target
> '/[...]/tools/testing/selftests/vm/compaction_test', needed by
> 'all'. Stop.
>
> So, modify lib.mk so it once again sets top_srcdir to the root of the
> kernel tree.
>
> Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
> Signed-off-by: Axel Rasmussen <[email protected]>
> ---
> tools/testing/selftests/lib.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 947fc72413e9..d44c72b3abe3 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -40,6 +40,7 @@ ifeq (0,$(MAKELEVEL))
> endif
> endif
> selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
> +top_srcdir = $(selfdir)/../../..
>
> # The following are built by lib.mk common compile rules.
> # TEST_CUSTOM_PROGS should be used by tests that require


Reviewed-by: John Hubbard <[email protected]>


thanks,
--
John Hubbard
NVIDIA