Received: by 2002:a05:6520:2f93:b029:af:d4db:7a05 with SMTP id 19csp1774765lkf; Thu, 4 Feb 2021 20:16:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3zGeMt1EzRVX0YjPknhkYSZztPUM3HjvlLl9WCQjLM2/47L5RsO5Ag9uni9rwDBpJSMxL X-Received: by 2002:a17:907:76c5:: with SMTP id kf5mr2248163ejc.534.1612498590917; Thu, 04 Feb 2021 20:16:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612498590; cv=none; d=google.com; s=arc-20160816; b=pgQQWhukA17oX6w2P+KYqfcBenu8By1OYQ2iCgoKqWvFQYhIip6jj/QICeeVZrLdHd Fb4xjTN5/Pl1nD4aH4Tt8T0ILGFj21QSxqL+zJFUtLTlCaNba3wbH+m+x0bQIabZZ3OS oYKQc/gcn24HKb6IGKEuGZ/ZQNKnk9JsUPke9dTgRFHh3fq5Q131QtKfkvcW9kgs7xZ4 fHZxla8J9xlNSBhA0YWbwYigulbP7f869cjjtr1GfQt2bAe+rgVAbJ6fpvU7RmnlEZuf JeldOMYArwPAC18blLNuLpJVIgh+WHQW+rs0zNY76g61Eu/e7uz8dS5rIpZjnPB0H5UJ wtBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=IdNFa/qLbgVwq8wvbu8a1qD6nCoEmPEWCylVNO5ROdc=; b=HBsC/V7pe/9ci327KBSFepowu4R+UlIGinE27rwOfbbfJ2jMGb3vWZ3RDOLGFQ3l19 FRHJzz5ryLBJZqieBzr62uGgCWbW6rHcT2m2FwvyjM8VtoUp01rq8c+9kICavHEx5tm4 fH9OmiqC0IFzMES0/vfN3wrw1f3/nzIK6TsM4wI5fmD+Wal0yJm7E9CjHkgdXR7c1rJI ZqB8e7n/FpleTTbu9dhtvZdT0NycB2T5lp53K0E3TxYhAPbzsjWsIJCw90ojumI6Z9kd s6bcWcAi0VOrjUfghIwi+CYyUNlWTJ0ARv947mro0xqSaARWqAVd00QVnhjp3HGUN0Ob WueA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g1si4512624ejc.697.2021.02.04.20.16.06; Thu, 04 Feb 2021 20:16:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229927AbhBEEL0 (ORCPT + 99 others); Thu, 4 Feb 2021 23:11:26 -0500 Received: from foss.arm.com ([217.140.110.172]:46486 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229872AbhBEELZ (ORCPT ); Thu, 4 Feb 2021 23:11:25 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 14A69ED1; Thu, 4 Feb 2021 20:10:39 -0800 (PST) Received: from p8cg001049571a15.arm.com (unknown [10.163.93.198]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CBB903F719; Thu, 4 Feb 2021 20:10:33 -0800 (PST) From: Anshuman Khandual To: linux-mm@kvack.org Cc: Anshuman Khandual , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Thomas Gleixner , Ingo Molnar , Chris Zankel , Max Filippov , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-xtensa@linux-xtensa.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm/memtest: Add ARCH_USE_MEMTEST Date: Fri, 5 Feb 2021 09:40:42 +0530 Message-Id: <1612498242-31579-1-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org early_memtest() does not get called from all architectures. Hence enabling CONFIG_MEMTEST and providing a valid memtest=[1..N] kernel command line option might not trigger the memory pattern tests as would be expected in normal circumstances. This situation is misleading. The change here prevents the above mentioned problem after introducing a new config option ARCH_USE_MEMTEST that should be subscribed on platforms that call early_memtest(), in order to enable the config CONFIG_MEMTEST. Conversely CONFIG_MEMTEST cannot be enabled on platforms where it would not be tested anyway. Cc: Russell King Cc: Catalin Marinas Cc: Will Deacon Cc: Thomas Bogendoerfer Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Chris Zankel Cc: Max Filippov Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mips@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-xtensa@linux-xtensa.org Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual --- This patch applies on v5.11-rc6 and has been tested on arm64 platform. But it has been just build tested on all other platforms. arch/arm/Kconfig | 1 + arch/arm64/Kconfig | 1 + arch/mips/Kconfig | 1 + arch/powerpc/Kconfig | 1 + arch/x86/Kconfig | 1 + arch/xtensa/Kconfig | 1 + lib/Kconfig.debug | 9 ++++++++- 7 files changed, 14 insertions(+), 1 deletion(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 138248999df7..a63b53c568df 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -32,6 +32,7 @@ config ARM select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF + select ARCH_USE_MEMTEST select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_LD_ORPHAN_WARN diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index c4acf8230f20..dfee5831d876 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -70,6 +70,7 @@ config ARM64 select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS select ARCH_USE_SYM_ANNOTATIONS + select ARCH_USE_MEMTEST select ARCH_SUPPORTS_DEBUG_PAGEALLOC select ARCH_SUPPORTS_MEMORY_FAILURE select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 0a17bedf4f0d..1b21d8e53e6b 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -16,6 +16,7 @@ config MIPS select ARCH_USE_CMPXCHG_LOCKREF if 64BIT select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS + select ARCH_USE_MEMTEST select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_TABLE_SORT diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 107bb4319e0e..9935343a8750 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -151,6 +151,7 @@ config PPC select ARCH_USE_CMPXCHG_LOCKREF if PPC64 select ARCH_USE_QUEUED_RWLOCKS if PPC_QUEUED_SPINLOCKS select ARCH_USE_QUEUED_SPINLOCKS if PPC_QUEUED_SPINLOCKS + select ARCH_USE_MEMTEST select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IRQS_OFF_ACTIVATE_MM select ARCH_WANT_LD_ORPHAN_WARN diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 21f851179ff0..90545348db1b 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -100,6 +100,7 @@ config X86 select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS select ARCH_USE_SYM_ANNOTATIONS + select ARCH_USE_MEMTEST select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH select ARCH_WANT_DEFAULT_BPF_JIT if X86_64 select ARCH_WANTS_DYNAMIC_TASK_STRUCT diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 37ce1489364e..8eb61fcdfc7f 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -9,6 +9,7 @@ config XTENSA select ARCH_HAS_DMA_SET_UNCACHED if MMU select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS + select ARCH_USE_MEMTEST select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_TABLE_SORT diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 7937265ef879..6dd25b755a82 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2469,11 +2469,18 @@ config TEST_FPU endif # RUNTIME_TESTING_MENU +config ARCH_USE_MEMTEST + bool + help + An architecture should select this when it uses early_memtest() + during boot process. + config MEMTEST bool "Memtest" + depends on ARCH_USE_MEMTEST help This option adds a kernel parameter 'memtest', which allows memtest - to be set. + to be set and executed. memtest=0, mean disabled; -- default memtest=1, mean do 1 test pattern; ... -- 2.20.1