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/