Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Wed, Sep 09, 2015 at 06:43:11PM +1000, Michael Ellerman wrote: > On Tue, 2015-09-08 at 16:34 +0200, Andrea Arcangeli wrote: > > > > I already had a few minor changes queued to be submitted for arm and > > ppc and a few updates to the selftest. > > > > I didn't like that you had to remember running make headers_install > > for changes like the below one to build, so I added the dependency so > > that "make" still works without having to run other commands before > > it. These aren't reviewed yet. > > > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 > > That's, how should I put it, fairly gross :) > > I'd really rather you didn't do that. It's really not that hard to run make > headers_install once manually is it? I agree it's fairly gross, but I don't like when "make" fails and you need to know something non-standard from documentation to make it work (ehm documentation? I don't think there is any about how to build the selftest). This is self documenting change (that works better than actual documentation) and you're free to run "make headers_install" by hand if you prefer after a git clean -d -x -f and you won't know the difference. If there's a cleaner solution that's fine, but I don't like to fallback in having to run "make headers_install" by hand :). > I think given you already have a series you should pick this up as part of > that series. It will need to be reworked slightly anyway to go on top of your > series I think. Yep I reworked and integrated it. Thanks! Andrea -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, 2015-09-08 at 16:34 +0200, Andrea Arcangeli wrote: > > I already had a few minor changes queued to be submitted for arm and > ppc and a few updates to the selftest. > > I didn't like that you had to remember running make headers_install > for changes like the below one to build, so I added the dependency so > that "make" still works without having to run other commands before > it. These aren't reviewed yet. > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 That's, how should I put it, fairly gross :) I'd really rather you didn't do that. It's really not that hard to run make headers_install once manually is it? > I was planning to send these non-x86 updates to Andrew for review and > merging... Fine by me, that's probably the best way to get them in. > Isn't this necessary as well? > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=0eb943b76537a93fc4dd85cc0cbf937ce8266228 Yes, I think I acked that earlier today. > I can include the below one too, but we need to coordinate to submit > them or eventually some will reject. I think given you already have a series you should pick this up as part of that series. It will need to be reworked slightly anyway to go on top of your series I think. cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, 2015-09-08 at 16:34 +0200, Andrea Arcangeli wrote: > > I already had a few minor changes queued to be submitted for arm and > ppc and a few updates to the selftest. > > I didn't like that you had to remember running make headers_install > for changes like the below one to build, so I added the dependency so > that "make" still works without having to run other commands before > it. These aren't reviewed yet. > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 That's, how should I put it, fairly gross :) I'd really rather you didn't do that. It's really not that hard to run make headers_install once manually is it? > I was planning to send these non-x86 updates to Andrew for review and > merging... Fine by me, that's probably the best way to get them in. > Isn't this necessary as well? > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=0eb943b76537a93fc4dd85cc0cbf937ce8266228 Yes, I think I acked that earlier today. > I can include the below one too, but we need to coordinate to submit > them or eventually some will reject. I think given you already have a series you should pick this up as part of that series. It will need to be reworked slightly anyway to go on top of your series I think. cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Wed, Sep 09, 2015 at 06:43:11PM +1000, Michael Ellerman wrote: > On Tue, 2015-09-08 at 16:34 +0200, Andrea Arcangeli wrote: > > > > I already had a few minor changes queued to be submitted for arm and > > ppc and a few updates to the selftest. > > > > I didn't like that you had to remember running make headers_install > > for changes like the below one to build, so I added the dependency so > > that "make" still works without having to run other commands before > > it. These aren't reviewed yet. > > > > https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 > > That's, how should I put it, fairly gross :) > > I'd really rather you didn't do that. It's really not that hard to run make > headers_install once manually is it? I agree it's fairly gross, but I don't like when "make" fails and you need to know something non-standard from documentation to make it work (ehm documentation? I don't think there is any about how to build the selftest). This is self documenting change (that works better than actual documentation) and you're free to run "make headers_install" by hand if you prefer after a git clean -d -x -f and you won't know the difference. If there's a cleaner solution that's fine, but I don't like to fallback in having to run "make headers_install" by hand :). > I think given you already have a series you should pick this up as part of > that series. It will need to be reworked slightly anyway to go on top of your > series I think. Yep I reworked and integrated it. Thanks! Andrea -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, Sep 08, 2015 at 08:25:45PM +0800, Bamvor Zhang Jian wrote: > Hi, Michael > > On 09/08/2015 05:54 PM, Michael Ellerman wrote: > > On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: > >> Hi, Michael > >> > >> I thought I reply to you, but ... > >> > >> On 08/31/2015 11:26 AM, Michael Ellerman wrote: > >>> On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: > Signed-off-by: Bamvor Jian Zhang > --- > tools/testing/selftests/vm/Makefile | 12 > 1 file changed, 12 insertions(+) > > diff --git a/tools/testing/selftests/vm/Makefile > b/tools/testing/selftests/vm/Makefile > index bb888c6..4dd6e4f 100644 > --- a/tools/testing/selftests/vm/Makefile > +++ b/tools/testing/selftests/vm/Makefile > @@ -1,5 +1,15 @@ > # Makefile for vm selftests > > +uname_M := $(shell uname -m 2>/dev/null || echo not) > +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e > s/ppc.*/powerpc/) > + > +ifeq ($(ARCH),powerpc) > +support_userfaultfd = yes > +endif > +ifeq ($(ARCH),x86) > +support_userfaultfd = yes > +endif > + > CFLAGS = -Wall > BINARIES = compaction_test > BINARIES += hugepage-mmap > @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > BINARIES += on-fault-limit > BINARIES += thuge-gen > BINARIES += transhuge-stress > +ifdef support_userfaultfd > BINARIES += userfaultfd > +endif > > all: $(BINARIES) > %: %.c > >>> > >>> > >>> This is nasty. It means when userfaultfd gets implemented for other arches > >>> someone has to remember to update the logic here, which they won't. > >>> > >>> Instead the C program should just do nothing when __NR_userfaultfd is not > >>> defined, eg: > >>> > >>> #ifdef __NR_userfaultfd > >>> > >>> int main(int argc, char **argv) > >>> { > >>> ... > >>> } > >>> > >>> #else > >>> > >>> int main(void) > >>> { > >>> printf("skip: Skipping userfaultfd test\n"); > >>> return 0; > >>> } > >>> #endif > >>> > >>> > >>> This way when the syscall is implemented for other arches the test will > >>> just > >>> start working. > >>> > >>> cheers > >>> > >>> > >> When read the following code, It seems that sometimes __NR_userfaultfd is > >> not > >> defined but the syscall is exist. I am not sure why these piece is needed. > >> cc'd c > >> > >> #ifndef __NR_userfaultfd > >> #ifdef __x86_64__ > >> #define __NR_userfaultfd 323 > >> #elif defined(__i386__) > >> #define __NR_userfaultfd 374 > >> #elif defined(__powewrpc__) > >> #define __NR_userfaultfd 364 > >> #else > >> #error "missing __NR_userfaultfd definition" > >> #endif > >> #endif > >> > >> Do you mean that we should remove the above code? > > > > Well yes, it would need to be removed to make the logic I suggested work. > > > > I'm not sure those #defines actually help in practice, because if the > > syscall > > number is not defined then linux/userfaultfd.h will not exist and the whole > > test will not compile anyway. > > > > I was suggesting something like this, which has the properties of: > > - not breaking the build on arches that don't have the syscall > > - still printing a notice on arches that don't have the syscall, both at > > build > >time and runtime. > > - building correctly on an arch as soon as that arch implements the > > syscall, > >with no extra changes required. > Ok, I agree with you. I will send the updated patch later. I already had a few minor changes queued to be submitted for arm and ppc and a few updates to the selftest. I didn't like that you had to remember running make headers_install for changes like the below one to build, so I added the dependency so that "make" still works without having to run other commands before it. These aren't reviewed yet. https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 I was planning to send these non-x86 updates to Andrew for review and merging... Isn't this necessary as well? https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=0eb943b76537a93fc4dd85cc0cbf937ce8266228 I can include the below one too, but we need to coordinate to submit them or eventually some will reject. > > cheers > > > > > > diff --git a/tools/testing/selftests/vm/userfaultfd.c > > b/tools/testing/selftests/vm/userfaultfd.c > > index 2bf1fc3f562b..652c9d805006 100644 > > --- a/tools/testing/selftests/vm/userfaultfd.c > > +++ b/tools/testing/selftests/vm/userfaultfd.c > > @@ -64,19 +64,10 @@ > > #include > > #include > > #include > > -#include > > > > -#ifndef __NR_userfaultfd > > -#ifdef __x86_64__ > > -#define __NR_userfaultfd 323 > > -#elif defined(__i386__) > > -#define __NR_userfaultfd 374 > > -#elif defined(__powewrpc__) > > -#define __NR_userfaultfd 364 > > -#else > > -#error "missing __NR_userfaultfd definition" > > -#endif > > -#endif > > +#ifdef __NR_userfaultfd >
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Hi, Michael On 09/08/2015 05:54 PM, Michael Ellerman wrote: > On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: >> Hi, Michael >> >> I thought I reply to you, but ... >> >> On 08/31/2015 11:26 AM, Michael Ellerman wrote: >>> On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: Signed-off-by: Bamvor Jian Zhang --- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2>/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c >>> >>> >>> This is nasty. It means when userfaultfd gets implemented for other arches >>> someone has to remember to update the logic here, which they won't. >>> >>> Instead the C program should just do nothing when __NR_userfaultfd is not >>> defined, eg: >>> >>> #ifdef __NR_userfaultfd >>> >>> int main(int argc, char **argv) >>> { >>> ... >>> } >>> >>> #else >>> >>> int main(void) >>> { >>> printf("skip: Skipping userfaultfd test\n"); >>> return 0; >>> } >>> #endif >>> >>> >>> This way when the syscall is implemented for other arches the test will just >>> start working. >>> >>> cheers >>> >>> >> When read the following code, It seems that sometimes __NR_userfaultfd is not >> defined but the syscall is exist. I am not sure why these piece is needed. >> cc'd c >> >> #ifndef __NR_userfaultfd >> #ifdef __x86_64__ >> #define __NR_userfaultfd 323 >> #elif defined(__i386__) >> #define __NR_userfaultfd 374 >> #elif defined(__powewrpc__) >> #define __NR_userfaultfd 364 >> #else >> #error "missing __NR_userfaultfd definition" >> #endif >> #endif >> >> Do you mean that we should remove the above code? > > Well yes, it would need to be removed to make the logic I suggested work. > > I'm not sure those #defines actually help in practice, because if the syscall > number is not defined then linux/userfaultfd.h will not exist and the whole > test will not compile anyway. > > I was suggesting something like this, which has the properties of: > - not breaking the build on arches that don't have the syscall > - still printing a notice on arches that don't have the syscall, both at > build >time and runtime. > - building correctly on an arch as soon as that arch implements the syscall, >with no extra changes required. Ok, I agree with you. I will send the updated patch later. > cheers > > > diff --git a/tools/testing/selftests/vm/userfaultfd.c > b/tools/testing/selftests/vm/userfaultfd.c > index 2bf1fc3f562b..652c9d805006 100644 > --- a/tools/testing/selftests/vm/userfaultfd.c > +++ b/tools/testing/selftests/vm/userfaultfd.c > @@ -64,19 +64,10 @@ > #include > #include > #include > -#include > > -#ifndef __NR_userfaultfd > -#ifdef __x86_64__ > -#define __NR_userfaultfd 323 > -#elif defined(__i386__) > -#define __NR_userfaultfd 374 > -#elif defined(__powewrpc__) > -#define __NR_userfaultfd 364 > -#else > -#error "missing __NR_userfaultfd definition" > -#endif > -#endif > +#ifdef __NR_userfaultfd > + > +#include > > static unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; > > @@ -636,3 +627,15 @@ int main(int argc, char **argv) > nr_pages, nr_pages_per_cpu); > return userfaultfd_stress(); > } > + > +#else /* ! __NR_userfaultfd */ > + > +#warning "missing __NR_userfaultfd definition" > + > +int main(void) > +{ > + printf("skip: Skipping userfaultfd test (missing __NR_userfaultfd)\n"); > + return 0; > +} > + > +#endif > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: > Hi, Michael > > I thought I reply to you, but ... > > On 08/31/2015 11:26 AM, Michael Ellerman wrote: > > On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: > >> Signed-off-by: Bamvor Jian Zhang > >> --- > >> tools/testing/selftests/vm/Makefile | 12 > >> 1 file changed, 12 insertions(+) > >> > >> diff --git a/tools/testing/selftests/vm/Makefile > >> b/tools/testing/selftests/vm/Makefile > >> index bb888c6..4dd6e4f 100644 > >> --- a/tools/testing/selftests/vm/Makefile > >> +++ b/tools/testing/selftests/vm/Makefile > >> @@ -1,5 +1,15 @@ > >> # Makefile for vm selftests > >> > >> +uname_M := $(shell uname -m 2>/dev/null || echo not) > >> +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) > >> + > >> +ifeq ($(ARCH),powerpc) > >> +support_userfaultfd = yes > >> +endif > >> +ifeq ($(ARCH),x86) > >> +support_userfaultfd = yes > >> +endif > >> + > >> CFLAGS = -Wall > >> BINARIES = compaction_test > >> BINARIES += hugepage-mmap > >> @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > >> BINARIES += on-fault-limit > >> BINARIES += thuge-gen > >> BINARIES += transhuge-stress > >> +ifdef support_userfaultfd > >> BINARIES += userfaultfd > >> +endif > >> > >> all: $(BINARIES) > >> %: %.c > > > > > > This is nasty. It means when userfaultfd gets implemented for other arches > > someone has to remember to update the logic here, which they won't. > > > > Instead the C program should just do nothing when __NR_userfaultfd is not > > defined, eg: > > > > #ifdef __NR_userfaultfd > > > > int main(int argc, char **argv) > > { > > ... > > } > > > > #else > > > > int main(void) > > { > > printf("skip: Skipping userfaultfd test\n"); > > return 0; > > } > > #endif > > > > > > This way when the syscall is implemented for other arches the test will just > > start working. > > > > cheers > > > > > When read the following code, It seems that sometimes __NR_userfaultfd is not > defined but the syscall is exist. I am not sure why these piece is needed. > cc'd c > > #ifndef __NR_userfaultfd > #ifdef __x86_64__ > #define __NR_userfaultfd 323 > #elif defined(__i386__) > #define __NR_userfaultfd 374 > #elif defined(__powewrpc__) > #define __NR_userfaultfd 364 > #else > #error "missing __NR_userfaultfd definition" > #endif > #endif > > Do you mean that we should remove the above code? Well yes, it would need to be removed to make the logic I suggested work. I'm not sure those #defines actually help in practice, because if the syscall number is not defined then linux/userfaultfd.h will not exist and the whole test will not compile anyway. I was suggesting something like this, which has the properties of: - not breaking the build on arches that don't have the syscall - still printing a notice on arches that don't have the syscall, both at build time and runtime. - building correctly on an arch as soon as that arch implements the syscall, with no extra changes required. cheers diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 2bf1fc3f562b..652c9d805006 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -64,19 +64,10 @@ #include #include #include -#include -#ifndef __NR_userfaultfd -#ifdef __x86_64__ -#define __NR_userfaultfd 323 -#elif defined(__i386__) -#define __NR_userfaultfd 374 -#elif defined(__powewrpc__) -#define __NR_userfaultfd 364 -#else -#error "missing __NR_userfaultfd definition" -#endif -#endif +#ifdef __NR_userfaultfd + +#include static unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; @@ -636,3 +627,15 @@ int main(int argc, char **argv) nr_pages, nr_pages_per_cpu); return userfaultfd_stress(); } + +#else /* ! __NR_userfaultfd */ + +#warning "missing __NR_userfaultfd definition" + +int main(void) +{ + printf("skip: Skipping userfaultfd test (missing __NR_userfaultfd)\n"); + return 0; +} + +#endif -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Hi, Michael I thought I reply to you, but ... On 08/31/2015 11:26 AM, Michael Ellerman wrote: > On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: >> Signed-off-by: Bamvor Jian Zhang >> --- >> tools/testing/selftests/vm/Makefile | 12 >> 1 file changed, 12 insertions(+) >> >> diff --git a/tools/testing/selftests/vm/Makefile >> b/tools/testing/selftests/vm/Makefile >> index bb888c6..4dd6e4f 100644 >> --- a/tools/testing/selftests/vm/Makefile >> +++ b/tools/testing/selftests/vm/Makefile >> @@ -1,5 +1,15 @@ >> # Makefile for vm selftests >> >> +uname_M := $(shell uname -m 2>/dev/null || echo not) >> +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) >> + >> +ifeq ($(ARCH),powerpc) >> +support_userfaultfd = yes >> +endif >> +ifeq ($(ARCH),x86) >> +support_userfaultfd = yes >> +endif >> + >> CFLAGS = -Wall >> BINARIES = compaction_test >> BINARIES += hugepage-mmap >> @@ -9,7 +19,9 @@ BINARIES += mlock2-tests >> BINARIES += on-fault-limit >> BINARIES += thuge-gen >> BINARIES += transhuge-stress >> +ifdef support_userfaultfd >> BINARIES += userfaultfd >> +endif >> >> all: $(BINARIES) >> %: %.c > > > This is nasty. It means when userfaultfd gets implemented for other arches > someone has to remember to update the logic here, which they won't. > > Instead the C program should just do nothing when __NR_userfaultfd is not > defined, eg: > > #ifdef __NR_userfaultfd > > int main(int argc, char **argv) > { > ... > } > > #else > > int main(void) > { > printf("skip: Skipping userfaultfd test\n"); > return 0; > } > #endif > > > This way when the syscall is implemented for other arches the test will just > start working. > > cheers > > When read the following code, It seems that sometimes __NR_userfaultfd is not defined but the syscall is exist. I am not sure why these piece is needed. cc'd c #ifndef __NR_userfaultfd #ifdef __x86_64__ #define __NR_userfaultfd 323 #elif defined(__i386__) #define __NR_userfaultfd 374 #elif defined(__powewrpc__) #define __NR_userfaultfd 364 #else #error "missing __NR_userfaultfd definition" #endif #endif Do you mean that we should remove the above code? regards bamvor -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Hi, Michael I thought I reply to you, but ... On 08/31/2015 11:26 AM, Michael Ellerman wrote: > On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: >> Signed-off-by: Bamvor Jian Zhang>> --- >> tools/testing/selftests/vm/Makefile | 12 >> 1 file changed, 12 insertions(+) >> >> diff --git a/tools/testing/selftests/vm/Makefile >> b/tools/testing/selftests/vm/Makefile >> index bb888c6..4dd6e4f 100644 >> --- a/tools/testing/selftests/vm/Makefile >> +++ b/tools/testing/selftests/vm/Makefile >> @@ -1,5 +1,15 @@ >> # Makefile for vm selftests >> >> +uname_M := $(shell uname -m 2>/dev/null || echo not) >> +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) >> + >> +ifeq ($(ARCH),powerpc) >> +support_userfaultfd = yes >> +endif >> +ifeq ($(ARCH),x86) >> +support_userfaultfd = yes >> +endif >> + >> CFLAGS = -Wall >> BINARIES = compaction_test >> BINARIES += hugepage-mmap >> @@ -9,7 +19,9 @@ BINARIES += mlock2-tests >> BINARIES += on-fault-limit >> BINARIES += thuge-gen >> BINARIES += transhuge-stress >> +ifdef support_userfaultfd >> BINARIES += userfaultfd >> +endif >> >> all: $(BINARIES) >> %: %.c > > > This is nasty. It means when userfaultfd gets implemented for other arches > someone has to remember to update the logic here, which they won't. > > Instead the C program should just do nothing when __NR_userfaultfd is not > defined, eg: > > #ifdef __NR_userfaultfd > > int main(int argc, char **argv) > { > ... > } > > #else > > int main(void) > { > printf("skip: Skipping userfaultfd test\n"); > return 0; > } > #endif > > > This way when the syscall is implemented for other arches the test will just > start working. > > cheers > > When read the following code, It seems that sometimes __NR_userfaultfd is not defined but the syscall is exist. I am not sure why these piece is needed. cc'd c #ifndef __NR_userfaultfd #ifdef __x86_64__ #define __NR_userfaultfd 323 #elif defined(__i386__) #define __NR_userfaultfd 374 #elif defined(__powewrpc__) #define __NR_userfaultfd 364 #else #error "missing __NR_userfaultfd definition" #endif #endif Do you mean that we should remove the above code? regards bamvor -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Hi, Michael On 09/08/2015 05:54 PM, Michael Ellerman wrote: > On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: >> Hi, Michael >> >> I thought I reply to you, but ... >> >> On 08/31/2015 11:26 AM, Michael Ellerman wrote: >>> On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: Signed-off-by: Bamvor Jian Zhang--- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2>/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c >>> >>> >>> This is nasty. It means when userfaultfd gets implemented for other arches >>> someone has to remember to update the logic here, which they won't. >>> >>> Instead the C program should just do nothing when __NR_userfaultfd is not >>> defined, eg: >>> >>> #ifdef __NR_userfaultfd >>> >>> int main(int argc, char **argv) >>> { >>> ... >>> } >>> >>> #else >>> >>> int main(void) >>> { >>> printf("skip: Skipping userfaultfd test\n"); >>> return 0; >>> } >>> #endif >>> >>> >>> This way when the syscall is implemented for other arches the test will just >>> start working. >>> >>> cheers >>> >>> >> When read the following code, It seems that sometimes __NR_userfaultfd is not >> defined but the syscall is exist. I am not sure why these piece is needed. >> cc'd c >> >> #ifndef __NR_userfaultfd >> #ifdef __x86_64__ >> #define __NR_userfaultfd 323 >> #elif defined(__i386__) >> #define __NR_userfaultfd 374 >> #elif defined(__powewrpc__) >> #define __NR_userfaultfd 364 >> #else >> #error "missing __NR_userfaultfd definition" >> #endif >> #endif >> >> Do you mean that we should remove the above code? > > Well yes, it would need to be removed to make the logic I suggested work. > > I'm not sure those #defines actually help in practice, because if the syscall > number is not defined then linux/userfaultfd.h will not exist and the whole > test will not compile anyway. > > I was suggesting something like this, which has the properties of: > - not breaking the build on arches that don't have the syscall > - still printing a notice on arches that don't have the syscall, both at > build >time and runtime. > - building correctly on an arch as soon as that arch implements the syscall, >with no extra changes required. Ok, I agree with you. I will send the updated patch later. > cheers > > > diff --git a/tools/testing/selftests/vm/userfaultfd.c > b/tools/testing/selftests/vm/userfaultfd.c > index 2bf1fc3f562b..652c9d805006 100644 > --- a/tools/testing/selftests/vm/userfaultfd.c > +++ b/tools/testing/selftests/vm/userfaultfd.c > @@ -64,19 +64,10 @@ > #include > #include > #include > -#include > > -#ifndef __NR_userfaultfd > -#ifdef __x86_64__ > -#define __NR_userfaultfd 323 > -#elif defined(__i386__) > -#define __NR_userfaultfd 374 > -#elif defined(__powewrpc__) > -#define __NR_userfaultfd 364 > -#else > -#error "missing __NR_userfaultfd definition" > -#endif > -#endif > +#ifdef __NR_userfaultfd > + > +#include > > static unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; > > @@ -636,3 +627,15 @@ int main(int argc, char **argv) > nr_pages, nr_pages_per_cpu); > return userfaultfd_stress(); > } > + > +#else /* ! __NR_userfaultfd */ > + > +#warning "missing __NR_userfaultfd definition" > + > +int main(void) > +{ > + printf("skip: Skipping userfaultfd test (missing __NR_userfaultfd)\n"); > + return 0; > +} > + > +#endif > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: > Hi, Michael > > I thought I reply to you, but ... > > On 08/31/2015 11:26 AM, Michael Ellerman wrote: > > On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: > >> Signed-off-by: Bamvor Jian Zhang> >> --- > >> tools/testing/selftests/vm/Makefile | 12 > >> 1 file changed, 12 insertions(+) > >> > >> diff --git a/tools/testing/selftests/vm/Makefile > >> b/tools/testing/selftests/vm/Makefile > >> index bb888c6..4dd6e4f 100644 > >> --- a/tools/testing/selftests/vm/Makefile > >> +++ b/tools/testing/selftests/vm/Makefile > >> @@ -1,5 +1,15 @@ > >> # Makefile for vm selftests > >> > >> +uname_M := $(shell uname -m 2>/dev/null || echo not) > >> +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) > >> + > >> +ifeq ($(ARCH),powerpc) > >> +support_userfaultfd = yes > >> +endif > >> +ifeq ($(ARCH),x86) > >> +support_userfaultfd = yes > >> +endif > >> + > >> CFLAGS = -Wall > >> BINARIES = compaction_test > >> BINARIES += hugepage-mmap > >> @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > >> BINARIES += on-fault-limit > >> BINARIES += thuge-gen > >> BINARIES += transhuge-stress > >> +ifdef support_userfaultfd > >> BINARIES += userfaultfd > >> +endif > >> > >> all: $(BINARIES) > >> %: %.c > > > > > > This is nasty. It means when userfaultfd gets implemented for other arches > > someone has to remember to update the logic here, which they won't. > > > > Instead the C program should just do nothing when __NR_userfaultfd is not > > defined, eg: > > > > #ifdef __NR_userfaultfd > > > > int main(int argc, char **argv) > > { > > ... > > } > > > > #else > > > > int main(void) > > { > > printf("skip: Skipping userfaultfd test\n"); > > return 0; > > } > > #endif > > > > > > This way when the syscall is implemented for other arches the test will just > > start working. > > > > cheers > > > > > When read the following code, It seems that sometimes __NR_userfaultfd is not > defined but the syscall is exist. I am not sure why these piece is needed. > cc'd c > > #ifndef __NR_userfaultfd > #ifdef __x86_64__ > #define __NR_userfaultfd 323 > #elif defined(__i386__) > #define __NR_userfaultfd 374 > #elif defined(__powewrpc__) > #define __NR_userfaultfd 364 > #else > #error "missing __NR_userfaultfd definition" > #endif > #endif > > Do you mean that we should remove the above code? Well yes, it would need to be removed to make the logic I suggested work. I'm not sure those #defines actually help in practice, because if the syscall number is not defined then linux/userfaultfd.h will not exist and the whole test will not compile anyway. I was suggesting something like this, which has the properties of: - not breaking the build on arches that don't have the syscall - still printing a notice on arches that don't have the syscall, both at build time and runtime. - building correctly on an arch as soon as that arch implements the syscall, with no extra changes required. cheers diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 2bf1fc3f562b..652c9d805006 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -64,19 +64,10 @@ #include #include #include -#include -#ifndef __NR_userfaultfd -#ifdef __x86_64__ -#define __NR_userfaultfd 323 -#elif defined(__i386__) -#define __NR_userfaultfd 374 -#elif defined(__powewrpc__) -#define __NR_userfaultfd 364 -#else -#error "missing __NR_userfaultfd definition" -#endif -#endif +#ifdef __NR_userfaultfd + +#include static unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; @@ -636,3 +627,15 @@ int main(int argc, char **argv) nr_pages, nr_pages_per_cpu); return userfaultfd_stress(); } + +#else /* ! __NR_userfaultfd */ + +#warning "missing __NR_userfaultfd definition" + +int main(void) +{ + printf("skip: Skipping userfaultfd test (missing __NR_userfaultfd)\n"); + return 0; +} + +#endif -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Tue, Sep 08, 2015 at 08:25:45PM +0800, Bamvor Zhang Jian wrote: > Hi, Michael > > On 09/08/2015 05:54 PM, Michael Ellerman wrote: > > On Tue, 2015-09-08 at 17:15 +0800, Bamvor Zhang Jian wrote: > >> Hi, Michael > >> > >> I thought I reply to you, but ... > >> > >> On 08/31/2015 11:26 AM, Michael Ellerman wrote: > >>> On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: > Signed-off-by: Bamvor Jian Zhang> --- > tools/testing/selftests/vm/Makefile | 12 > 1 file changed, 12 insertions(+) > > diff --git a/tools/testing/selftests/vm/Makefile > b/tools/testing/selftests/vm/Makefile > index bb888c6..4dd6e4f 100644 > --- a/tools/testing/selftests/vm/Makefile > +++ b/tools/testing/selftests/vm/Makefile > @@ -1,5 +1,15 @@ > # Makefile for vm selftests > > +uname_M := $(shell uname -m 2>/dev/null || echo not) > +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e > s/ppc.*/powerpc/) > + > +ifeq ($(ARCH),powerpc) > +support_userfaultfd = yes > +endif > +ifeq ($(ARCH),x86) > +support_userfaultfd = yes > +endif > + > CFLAGS = -Wall > BINARIES = compaction_test > BINARIES += hugepage-mmap > @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > BINARIES += on-fault-limit > BINARIES += thuge-gen > BINARIES += transhuge-stress > +ifdef support_userfaultfd > BINARIES += userfaultfd > +endif > > all: $(BINARIES) > %: %.c > >>> > >>> > >>> This is nasty. It means when userfaultfd gets implemented for other arches > >>> someone has to remember to update the logic here, which they won't. > >>> > >>> Instead the C program should just do nothing when __NR_userfaultfd is not > >>> defined, eg: > >>> > >>> #ifdef __NR_userfaultfd > >>> > >>> int main(int argc, char **argv) > >>> { > >>> ... > >>> } > >>> > >>> #else > >>> > >>> int main(void) > >>> { > >>> printf("skip: Skipping userfaultfd test\n"); > >>> return 0; > >>> } > >>> #endif > >>> > >>> > >>> This way when the syscall is implemented for other arches the test will > >>> just > >>> start working. > >>> > >>> cheers > >>> > >>> > >> When read the following code, It seems that sometimes __NR_userfaultfd is > >> not > >> defined but the syscall is exist. I am not sure why these piece is needed. > >> cc'd c > >> > >> #ifndef __NR_userfaultfd > >> #ifdef __x86_64__ > >> #define __NR_userfaultfd 323 > >> #elif defined(__i386__) > >> #define __NR_userfaultfd 374 > >> #elif defined(__powewrpc__) > >> #define __NR_userfaultfd 364 > >> #else > >> #error "missing __NR_userfaultfd definition" > >> #endif > >> #endif > >> > >> Do you mean that we should remove the above code? > > > > Well yes, it would need to be removed to make the logic I suggested work. > > > > I'm not sure those #defines actually help in practice, because if the > > syscall > > number is not defined then linux/userfaultfd.h will not exist and the whole > > test will not compile anyway. > > > > I was suggesting something like this, which has the properties of: > > - not breaking the build on arches that don't have the syscall > > - still printing a notice on arches that don't have the syscall, both at > > build > >time and runtime. > > - building correctly on an arch as soon as that arch implements the > > syscall, > >with no extra changes required. > Ok, I agree with you. I will send the updated patch later. I already had a few minor changes queued to be submitted for arm and ppc and a few updates to the selftest. I didn't like that you had to remember running make headers_install for changes like the below one to build, so I added the dependency so that "make" still works without having to run other commands before it. These aren't reviewed yet. https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=5ce2efeb91b501aa1bc7370f43732681fa9123e2 I was planning to send these non-x86 updates to Andrew for review and merging... Isn't this necessary as well? https://git.kernel.org/cgit/linux/kernel/git/andrea/aa.git/commit/?id=0eb943b76537a93fc4dd85cc0cbf937ce8266228 I can include the below one too, but we need to coordinate to submit them or eventually some will reject. > > cheers > > > > > > diff --git a/tools/testing/selftests/vm/userfaultfd.c > > b/tools/testing/selftests/vm/userfaultfd.c > > index 2bf1fc3f562b..652c9d805006 100644 > > --- a/tools/testing/selftests/vm/userfaultfd.c > > +++ b/tools/testing/selftests/vm/userfaultfd.c > > @@ -64,19 +64,10 @@ > > #include > > #include > > #include > > -#include > > > > -#ifndef __NR_userfaultfd > > -#ifdef __x86_64__ > > -#define __NR_userfaultfd 323 > > -#elif defined(__i386__) > > -#define __NR_userfaultfd 374 > > -#elif defined(__powewrpc__) > > -#define __NR_userfaultfd 364 > > -#else > > -#error "missing __NR_userfaultfd definition" > > -#endif > > -#endif >
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: > Signed-off-by: Bamvor Jian Zhang > --- > tools/testing/selftests/vm/Makefile | 12 > 1 file changed, 12 insertions(+) > > diff --git a/tools/testing/selftests/vm/Makefile > b/tools/testing/selftests/vm/Makefile > index bb888c6..4dd6e4f 100644 > --- a/tools/testing/selftests/vm/Makefile > +++ b/tools/testing/selftests/vm/Makefile > @@ -1,5 +1,15 @@ > # Makefile for vm selftests > > +uname_M := $(shell uname -m 2>/dev/null || echo not) > +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) > + > +ifeq ($(ARCH),powerpc) > +support_userfaultfd = yes > +endif > +ifeq ($(ARCH),x86) > +support_userfaultfd = yes > +endif > + > CFLAGS = -Wall > BINARIES = compaction_test > BINARIES += hugepage-mmap > @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > BINARIES += on-fault-limit > BINARIES += thuge-gen > BINARIES += transhuge-stress > +ifdef support_userfaultfd > BINARIES += userfaultfd > +endif > > all: $(BINARIES) > %: %.c This is nasty. It means when userfaultfd gets implemented for other arches someone has to remember to update the logic here, which they won't. Instead the C program should just do nothing when __NR_userfaultfd is not defined, eg: #ifdef __NR_userfaultfd int main(int argc, char **argv) { ... } #else int main(void) { printf("skip: Skipping userfaultfd test\n"); return 0; } #endif This way when the syscall is implemented for other arches the test will just start working. cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On Fri, 2015-08-14 at 21:43 +0800, Bamvor Jian Zhang wrote: Signed-off-by: Bamvor Jian Zhang bamvor.zhangj...@linaro.org --- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c This is nasty. It means when userfaultfd gets implemented for other arches someone has to remember to update the logic here, which they won't. Instead the C program should just do nothing when __NR_userfaultfd is not defined, eg: #ifdef __NR_userfaultfd int main(int argc, char **argv) { ... } #else int main(void) { printf(skip: Skipping userfaultfd test\n); return 0; } #endif This way when the syscall is implemented for other arches the test will just start working. cheers -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On 08/14/2015 07:43 AM, Bamvor Jian Zhang wrote: > Signed-off-by: Bamvor Jian Zhang > --- > tools/testing/selftests/vm/Makefile | 12 > 1 file changed, 12 insertions(+) > > diff --git a/tools/testing/selftests/vm/Makefile > b/tools/testing/selftests/vm/Makefile > index bb888c6..4dd6e4f 100644 > --- a/tools/testing/selftests/vm/Makefile > +++ b/tools/testing/selftests/vm/Makefile > @@ -1,5 +1,15 @@ > # Makefile for vm selftests > > +uname_M := $(shell uname -m 2>/dev/null || echo not) > +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) > + > +ifeq ($(ARCH),powerpc) > +support_userfaultfd = yes > +endif > +ifeq ($(ARCH),x86) > +support_userfaultfd = yes > +endif > + > CFLAGS = -Wall > BINARIES = compaction_test > BINARIES += hugepage-mmap > @@ -9,7 +19,9 @@ BINARIES += mlock2-tests > BINARIES += on-fault-limit > BINARIES += thuge-gen > BINARIES += transhuge-stress > +ifdef support_userfaultfd > BINARIES += userfaultfd > +endif > > all: $(BINARIES) > %: %.c > I will get this into 4.3-rc2 once the userfaultfd gets into 4.3-rc1. Thanks for the fix. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shua...@osg.samsung.com | (970) 217-8978 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
On 08/14/2015 07:43 AM, Bamvor Jian Zhang wrote: Signed-off-by: Bamvor Jian Zhang bamvor.zhangj...@linaro.org --- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c I will get this into 4.3-rc2 once the userfaultfd gets into 4.3-rc1. Thanks for the fix. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shua...@osg.samsung.com | (970) 217-8978 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Signed-off-by: Bamvor Jian Zhang --- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2>/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc
Signed-off-by: Bamvor Jian Zhang bamvor.zhangj...@linaro.org --- tools/testing/selftests/vm/Makefile | 12 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index bb888c6..4dd6e4f 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -1,5 +1,15 @@ # Makefile for vm selftests +uname_M := $(shell uname -m 2/dev/null || echo not) +ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) +support_userfaultfd = yes +endif +ifeq ($(ARCH),x86) +support_userfaultfd = yes +endif + CFLAGS = -Wall BINARIES = compaction_test BINARIES += hugepage-mmap @@ -9,7 +19,9 @@ BINARIES += mlock2-tests BINARIES += on-fault-limit BINARIES += thuge-gen BINARIES += transhuge-stress +ifdef support_userfaultfd BINARIES += userfaultfd +endif all: $(BINARIES) %: %.c -- 2.1.4 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/