linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests
@ 2022-08-19 19:19 Axel Rasmussen
  2022-08-19 19:19 ` [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths Axel Rasmussen
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Axel Rasmussen @ 2022-08-19 19:19 UTC (permalink / raw)
  To: Andrew Morton, Guillaume Tucker, Jérôme Glisse,
	John Hubbard, Shuah Khan
  Cc: linux-kselftest, linux-kernel, linux-mm, Axel Rasmussen

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 <axelrasmussen@google.com>
---
 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



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths
  2022-08-19 19:19 [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Axel Rasmussen
@ 2022-08-19 19:19 ` Axel Rasmussen
  2022-08-20  0:14   ` John Hubbard
  2022-08-19 23:58 ` [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Shuah Khan
  2022-08-20  0:11 ` John Hubbard
  2 siblings, 1 reply; 5+ messages in thread
From: Axel Rasmussen @ 2022-08-19 19:19 UTC (permalink / raw)
  To: Andrew Morton, Guillaume Tucker, Jérôme Glisse,
	John Hubbard, Shuah Khan
  Cc: linux-kselftest, linux-kernel, linux-mm, Axel Rasmussen

In various places both in t/t/s/v/Makefile as well as some of the test
sources, we were referring to headers or directories using some fairly
long relative paths.

Since we have a working top_srcdir variable though, which refers to the
root of the kernel tree, we can clean up all of these "up and over"
relative paths, just relying on the single variable instead.

Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
---
 tools/testing/selftests/vm/Makefile    | 2 +-
 tools/testing/selftests/vm/gup_test.c  | 2 +-
 tools/testing/selftests/vm/hmm-tests.c | 4 ++--
 tools/testing/selftests/vm/ksm_tests.c | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
index d9fa6a9ea584..d516b8c38eed 100644
--- a/tools/testing/selftests/vm/Makefile
+++ b/tools/testing/selftests/vm/Makefile
@@ -25,7 +25,7 @@ MACHINE ?= $(shell echo $(uname_M) | sed -e 's/aarch64.*/arm64/' -e 's/ppc64.*/p
 # LDLIBS.
 MAKEFLAGS += --no-builtin-rules
 
-CFLAGS = -Wall -I ../../../../usr/include $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
+CFLAGS = -Wall -I $(top_srcdir) -I $(top_srcdir)/usr/include $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
 LDLIBS = -lrt -lpthread
 TEST_GEN_FILES = compaction_test
 TEST_GEN_FILES += gup_test
diff --git a/tools/testing/selftests/vm/gup_test.c b/tools/testing/selftests/vm/gup_test.c
index a309876d832f..e43879291dac 100644
--- a/tools/testing/selftests/vm/gup_test.c
+++ b/tools/testing/selftests/vm/gup_test.c
@@ -10,7 +10,7 @@
 #include <sys/types.h>
 #include <pthread.h>
 #include <assert.h>
-#include "../../../../mm/gup_test.h"
+#include <mm/gup_test.h>
 #include "../kselftest.h"
 
 #include "util.h"
diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
index 529f53b40296..98b949c279be 100644
--- a/tools/testing/selftests/vm/hmm-tests.c
+++ b/tools/testing/selftests/vm/hmm-tests.c
@@ -35,8 +35,8 @@
  * This is a private UAPI to the kernel test module so it isn't exported
  * in the usual include/uapi/... directory.
  */
-#include "../../../../lib/test_hmm_uapi.h"
-#include "../../../../mm/gup_test.h"
+#include <lib/test_hmm_uapi.h>
+#include <mm/gup_test.h>
 
 struct hmm_buffer {
 	void		*ptr;
diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
index f5e4e0bbd081..0d85be2350fa 100644
--- a/tools/testing/selftests/vm/ksm_tests.c
+++ b/tools/testing/selftests/vm/ksm_tests.c
@@ -11,7 +11,7 @@
 #include <err.h>
 
 #include "../kselftest.h"
-#include "../../../../include/vdso/time64.h"
+#include <include/vdso/time64.h>
 #include "util.h"
 
 #define KSM_SYSFS_PATH "/sys/kernel/mm/ksm/"
-- 
2.37.1.595.g718a3a8f04-goog



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests
  2022-08-19 19:19 [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Axel Rasmussen
  2022-08-19 19:19 ` [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths Axel Rasmussen
@ 2022-08-19 23:58 ` Shuah Khan
  2022-08-20  0:11 ` John Hubbard
  2 siblings, 0 replies; 5+ messages in thread
From: Shuah Khan @ 2022-08-19 23:58 UTC (permalink / raw)
  To: Axel Rasmussen, Andrew Morton, Guillaume Tucker,
	Jérôme Glisse, John Hubbard, Shuah Khan
  Cc: linux-kselftest, linux-kernel, linux-mm, Shuah Khan

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 <axelrasmussen@google.com>
> ---
>   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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests
  2022-08-19 19:19 [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Axel Rasmussen
  2022-08-19 19:19 ` [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths Axel Rasmussen
  2022-08-19 23:58 ` [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Shuah Khan
@ 2022-08-20  0:11 ` John Hubbard
  2 siblings, 0 replies; 5+ messages in thread
From: John Hubbard @ 2022-08-20  0:11 UTC (permalink / raw)
  To: Axel Rasmussen, Andrew Morton, Guillaume Tucker,
	Jérôme Glisse, Shuah Khan
  Cc: linux-kselftest, linux-kernel, linux-mm

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 <axelrasmussen@google.com>
> ---
>   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 <jhubbard@nvidia.com>


thanks,
-- 
John Hubbard
NVIDIA


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths
  2022-08-19 19:19 ` [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths Axel Rasmussen
@ 2022-08-20  0:14   ` John Hubbard
  0 siblings, 0 replies; 5+ messages in thread
From: John Hubbard @ 2022-08-20  0:14 UTC (permalink / raw)
  To: Axel Rasmussen, Andrew Morton, Guillaume Tucker,
	Jérôme Glisse, Shuah Khan
  Cc: linux-kselftest, linux-kernel, linux-mm

On 8/19/22 12:19, Axel Rasmussen wrote:
> In various places both in t/t/s/v/Makefile as well as some of the test
> sources, we were referring to headers or directories using some fairly
> long relative paths.
> 
> Since we have a working top_srcdir variable though, which refers to the
> root of the kernel tree, we can clean up all of these "up and over"
> relative paths, just relying on the single variable instead.
> 
> Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
> ---
>   tools/testing/selftests/vm/Makefile    | 2 +-
>   tools/testing/selftests/vm/gup_test.c  | 2 +-
>   tools/testing/selftests/vm/hmm-tests.c | 4 ++--
>   tools/testing/selftests/vm/ksm_tests.c | 2 +-
>   4 files changed, 5 insertions(+), 5 deletions(-)


Very nice, thank you for the extra cleanup here.

Reviewed-by: John Hubbard <jhubbard@nvidia.com>

thanks,
-- 
John Hubbard
NVIDIA

> 
> diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
> index d9fa6a9ea584..d516b8c38eed 100644
> --- a/tools/testing/selftests/vm/Makefile
> +++ b/tools/testing/selftests/vm/Makefile
> @@ -25,7 +25,7 @@ MACHINE ?= $(shell echo $(uname_M) | sed -e 's/aarch64.*/arm64/' -e 's/ppc64.*/p
>   # LDLIBS.
>   MAKEFLAGS += --no-builtin-rules
>   
> -CFLAGS = -Wall -I ../../../../usr/include $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
> +CFLAGS = -Wall -I $(top_srcdir) -I $(top_srcdir)/usr/include $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
>   LDLIBS = -lrt -lpthread
>   TEST_GEN_FILES = compaction_test
>   TEST_GEN_FILES += gup_test
> diff --git a/tools/testing/selftests/vm/gup_test.c b/tools/testing/selftests/vm/gup_test.c
> index a309876d832f..e43879291dac 100644
> --- a/tools/testing/selftests/vm/gup_test.c
> +++ b/tools/testing/selftests/vm/gup_test.c
> @@ -10,7 +10,7 @@
>   #include <sys/types.h>
>   #include <pthread.h>
>   #include <assert.h>
> -#include "../../../../mm/gup_test.h"
> +#include <mm/gup_test.h>
>   #include "../kselftest.h"
>   
>   #include "util.h"
> diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
> index 529f53b40296..98b949c279be 100644
> --- a/tools/testing/selftests/vm/hmm-tests.c
> +++ b/tools/testing/selftests/vm/hmm-tests.c
> @@ -35,8 +35,8 @@
>    * This is a private UAPI to the kernel test module so it isn't exported
>    * in the usual include/uapi/... directory.
>    */
> -#include "../../../../lib/test_hmm_uapi.h"
> -#include "../../../../mm/gup_test.h"
> +#include <lib/test_hmm_uapi.h>
> +#include <mm/gup_test.h>
>   
>   struct hmm_buffer {
>   	void		*ptr;
> diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
> index f5e4e0bbd081..0d85be2350fa 100644
> --- a/tools/testing/selftests/vm/ksm_tests.c
> +++ b/tools/testing/selftests/vm/ksm_tests.c
> @@ -11,7 +11,7 @@
>   #include <err.h>
>   
>   #include "../kselftest.h"
> -#include "../../../../include/vdso/time64.h"
> +#include <include/vdso/time64.h>
>   #include "util.h"
>   
>   #define KSM_SYSFS_PATH "/sys/kernel/mm/ksm/"



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-08-20  0:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 19:19 [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Axel Rasmussen
2022-08-19 19:19 ` [PATCH v2 2/2] selftests/vm: use top_srcdir instead of recomputing relative paths Axel Rasmussen
2022-08-20  0:14   ` John Hubbard
2022-08-19 23:58 ` [PATCH v2 1/2] selftests/vm: fix inability to build any vm tests Shuah Khan
2022-08-20  0:11 ` John Hubbard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox