Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752344AbbHaD0X (ORCPT ); Sun, 30 Aug 2015 23:26:23 -0400 Received: from ozlabs.org ([103.22.144.67]:46159 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751879AbbHaD0W (ORCPT ); Sun, 30 Aug 2015 23:26:22 -0400 Message-ID: <1440991580.5735.4.camel@ellerman.id.au> Subject: Re: [PATCH 6/7] selftests: only compile userfaultfd for x86 and powperpc From: Michael Ellerman To: Bamvor Jian Zhang Cc: linux-kernel@vger.kernel.org, broonie@linaro.org, khilman@linaro.org, tyler.baker@linaro.org, shuahkh@osg.samsung.com Date: Mon, 31 Aug 2015 13:26:20 +1000 In-Reply-To: <1439559818-21666-7-git-send-email-bamvor.zhangjian@linaro.org> References: <1439559818-21666-1-git-send-email-bamvor.zhangjian@linaro.org> <1439559818-21666-7-git-send-email-bamvor.zhangjian@linaro.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1803 Lines: 71 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/