From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 56A34E77183 for ; Wed, 18 Dec 2024 06:59:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA0DD6B0092; Wed, 18 Dec 2024 01:59:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C505E6B0093; Wed, 18 Dec 2024 01:59:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B18716B0096; Wed, 18 Dec 2024 01:59:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9171B6B0092 for ; Wed, 18 Dec 2024 01:59:53 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 34B5280C1E for ; Wed, 18 Dec 2024 06:59:53 +0000 (UTC) X-FDA: 82907179488.02.6E96205 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf05.hostedemail.com (Postfix) with ESMTP id 0714B100013 for ; Wed, 18 Dec 2024 06:58:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf05.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734505156; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NIl8KJU4AFGK++LUrvxKZGMaRIqLeF4mmkrx2qRDW2Q=; b=BLdn5p25wu7gSZq4720p7mf/7KpEHVAvgyVLFqQ3M6UvRZy1208ArWUgVPIbmg6lPyY+3/ vdQBi6dQetxAzt13SvHGuJ0hwBhn5Uwp9FU/edIiOtv4uCZzihsHjekZG/6ghG3TnfXmPd yMdpKnH2QkH5w1DG0fKPKXESJGcda1g= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734505156; a=rsa-sha256; cv=none; b=K8Hwx55PPkIO/ZWBeiphHTD6DOcN58sPHM+EsqqLGNu3ELkbICmBHgx+0APm/g/Jxr552H FDNCk5TrDgfQ2nYtr+HnPgNRqbgUBDnJcOPFWMJSXA28cPcInlC2qzsZRgXGCew+iASXAI Re2hCvQuz7kqUdhvsIKLEtSsImhZLQw= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf05.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com 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 39DF8FEC; Tue, 17 Dec 2024 23:00:18 -0800 (PST) Received: from [10.163.50.13] (unknown [10.163.50.13]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4E7733F720; Tue, 17 Dec 2024 22:59:43 -0800 (PST) Message-ID: <27980882-4433-443f-abd1-ea5d96b687ea@arm.com> Date: Wed, 18 Dec 2024 12:29:40 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/ptdump: Drop GENERIC_PTDUMP To: Christophe Leroy , linux-mm@kvack.org Cc: steven.price@arm.com, Catalin Marinas , Will Deacon , Jonathan Corbet , Marc Zyngier , Michael Ellerman , Nicholas Piggin , Paul Walmsley , Palmer Dabbelt , Heiko Carstens , Vasily Gorbik , Thomas Gleixner , Ingo Molnar , Andrew Morton , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org References: <20241217034807.2541349-1-anshuman.khandual@arm.com> Content-Language: en-US From: Anshuman Khandual In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 0714B100013 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: tad5j9tiybuognubn3p9jx5wdso3mbu9 X-HE-Tag: 1734505130-455654 X-HE-Meta: U2FsdGVkX1+QsL0RcrrSlhgRBi0DfETfNf+SGMQaQyTmsGeNe6gSsGrWAHMvkidLurZ/weTHjpjUZZUt1JjyybmRHoh8uWH+/+7nkZeIWhEVOYcKTZTyKBralNFC4vQzzy/nlmbuQsqISWOs3LvEYZ68DYFSQDcfcChH5eeI6RtOyyBux3rbRlkJvoaJ7GgRtAZB8aJBpsa6Iy6WZukOZXXctSIWiodJ4qWOZ1FvEP3f7C1SqFOEH4ej+cvRaKe7F80Md6xitXhPT75X0eJuoIEREso7p4WEu7Q1h9LIWaJy3BslCS1qdTdEDgNqg7pkM5/xyoNxaD8iyvFYroayCxQGcolKVPMrQitC3SqbD6S9h1LH7lJxA1YR8+ialsQ5igLjUmW6zL2mYTcCcbntjh9eNSPhXarwRVYkNwsIzDhdzAI29iN7H+wBn7jTWn+KG/GYsaN7n6EZVXOcCsiDmvz8NfVa0mOBnl5Bgdjy5twfe6MV/KbR8RcE1qe3MkF3nWAeWwy+EXefCmgt0++9+tVeH+cmyC8Onctl9dAsX/nKkcbmLqK+eSDJdHgsuR27KfFtAWMzEt2+CCasRi/8zibOyJbanYmZU0RccpOnEmSeFtPELJuD0x5/tSnB6sYyhTN0wOsLEpEOMoeJJ2E29Y85pNw3yT0vmMrsQJcVCB4SYGoC/PWB238ZS2YKFQ1ZIlnNwmRIFQuTrv328Qvgzf5dhsXeQhyR8KOBONkd18/0ILKy+VspLTWtY4S8+W0UsR08Alkc0uuyuLepwK4Nqtg97yEAaRndlUVJIb6Qy/moOBmUVBwwOCOY8aAVFVvMQA8mnfFo9utehv2HC/Z2Sd2pJsTQo6D2epsc461L2XxiJOgvAVIPntBTSZT+Hu1VLplSR7SWaNCA/9rxqzc5XphMsB/zK9R1F/VwLeUKsVB4PX1yCpZ+EKDzcJ2k6tFk7pALGAJMHXdqAyurfjE xEhiZ3s+ WS5yEd5DtXr09l6m5NO3JPcjXBrKB8YC597o2RwrviLsWQpYr8ou9Pzg1hsRZ/Kzw0Y9Z5y2qaIZ8Ptug3pEYzwRiLdbCVFx/w6Z1jlmhbLVlJ2f5/RJVYjBwCV33CatBKb3r6qIIxF0vyTFtXxyVoC5mRWHUKCLuinBjwnOlHlBQpqvMoro1qtsLe2KYSDSYYUhJ7b18DgXibT9v42rIpnLpRG4KGEuL5gp5cBo/kVXABydIZKzwspdUuT75+m3WAS8UrwkCuFSzx1q6sncm6wyXWY895CmzE9VM7rR14/B8mNEAVH3sNwWpMKlx5TRyhOPqobLJcxky03hGymOkd2F1X267Qv1KIgEwe4YMAGBV4BvfgUHdh4fxDXksX+8KKfxW2iCCwg7si4xnwalNMYrXfqbwQWqSp7fZ2VWCm9ChSclqDU01MoCbtyj0g8iwvfHc7LSMm4b8pSYsdmpKr6UTA/E19qPRGjkWX1aG7TN8eYvjHkSyXY3Aj2doZ3OvGWO93cgESko1gX40CjHqCgukl5NOFx5zect0oXbvi+jycb6GQ8n5pSIdQUrrZ9O+AfRljFCyDFgltaN7wwPMaYNSBw33Yi3dQzCw/D1BcL3RBEBhgYpcW6lUEw2ink+Is1kgqBxjZQY2yiYI5wxAxH0hXu59dhSYI066cMEZR+mWK+GA3jAuBClj9BM9B5rNkmVpHBqHAcXn4Q88tAKtN+9xmo1/FDbjj0KqejLRAMZvIzbdwT9BdbUBxfV2iCDToeJ46pQdtQ16QLmVG/Ai3PXJx56bzWckkcFn87A/3LahhnKewHpG0ikHrWaFQ2kLHsBaXTuo5Eo05PUuzG8Pps23y4D3b1SwCOizIcVUOqPackT4TdZ1+0gkbq0TQqq1U6vLGVt90y9xYWTf9rTzwopR1s78/fPe9NZxqQCZKmD9/8j4M/ryN9FE3w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 12/17/24 13:17, Christophe Leroy wrote: > > > Le 17/12/2024 à 04:48, Anshuman Khandual a écrit : >> GENERIC_PTDUMP does not guard any code but instead just used for platform's >> subscription into core ptdump defined under PTDUMP_CORE, which is selected. >> Instead use PTDUMP_CORE for platform subscription and drop GENERIC_PTDUMP. >> >> Cc: Catalin Marinas >> Cc: Will Deacon >> Cc: Jonathan Corbet >> Cc: Marc Zyngier >> Cc: Michael Ellerman >> Cc: Nicholas Piggin >> Cc: Paul Walmsley >> Cc: Palmer Dabbelt >> Cc: Heiko Carstens >> Cc: Vasily Gorbik >> Cc: Thomas Gleixner >> Cc: Ingo Molnar >> Cc: Andrew Morton >> Cc: linux-arm-kernel@lists.infradead.org >> Cc: linux-doc@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Cc: kvmarm@lists.linux.dev >> Cc: linuxppc-dev@lists.ozlabs.org >> Cc: linux-riscv@lists.infradead.org >> Cc: linux-s390@vger.kernel.org >> Cc: linux-mm@kvack.org >> Signed-off-by: Anshuman Khandual >> --- >> This patch applies on v6.13-rc3 and has been tested on arm64, although it >> also clears build tests on impacted platforms. >> >>   Documentation/arch/arm64/ptdump.rst       | 1 - >>   arch/arm64/Kconfig                        | 2 +- >>   arch/arm64/kvm/Kconfig                    | 3 +-- >>   arch/powerpc/Kconfig                      | 2 +- >>   arch/powerpc/configs/mpc885_ads_defconfig | 1 - >>   arch/riscv/Kconfig                        | 2 +- >>   arch/s390/Kconfig                         | 2 +- >>   arch/x86/Kconfig                          | 2 +- >>   arch/x86/Kconfig.debug                    | 2 +- >>   kernel/configs/debug.config               | 1 - >>   mm/Kconfig.debug                          | 8 ++------ >>   11 files changed, 9 insertions(+), 17 deletions(-) >> > >> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig >> index a0ce777f9706..c716f8df10de 100644 >> --- a/arch/powerpc/Kconfig >> +++ b/arch/powerpc/Kconfig >> @@ -203,7 +203,7 @@ config PPC >>       select GENERIC_IRQ_SHOW >>       select GENERIC_IRQ_SHOW_LEVEL >>       select GENERIC_PCI_IOMAP        if PCI >> -    select GENERIC_PTDUMP >> +    select PTDUMP_CORE > > Please keep alphabetical order. Sure, will do that. > >>       select GENERIC_SMP_IDLE_THREAD >>       select GENERIC_TIME_VSYSCALL >>       select GENERIC_VDSO_TIME_NS > >> diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug >> index 41a58536531d..b206e5a11f96 100644 >> --- a/mm/Kconfig.debug >> +++ b/mm/Kconfig.debug >> @@ -187,7 +187,7 @@ config DEBUG_WX >>       bool "Warn on W+X mappings at boot" >>       depends on ARCH_HAS_DEBUG_WX >>       depends on MMU >> -    select PTDUMP_CORE >> +    depends on PTDUMP_CORE > > This change is unclear to me. It works because all arch selecting ARCH_HAS_DEBUG_WX also select GENERIC_PTDUMP. For riscv it's even more tricking, Riscv only selects GENERIC_PTDUMP when MMU is set, so it works because here it also depends on MMU. Right, all the archs selecting ARCH_HAS_DEBUG_WX also select PTDUMP_CORE. DEBUG_WX dependency on PTDUMP_CORE will always be met, when the platform selects ARCH_HAS_DEBUG_WX as expected. git grep "select PTDUMP_CORE" arch/ arch/arm64/Kconfig: select PTDUMP_CORE arch/powerpc/Kconfig: select PTDUMP_CORE arch/riscv/Kconfig: select PTDUMP_CORE if MMU arch/s390/Kconfig: select PTDUMP_CORE arch/x86/Kconfig: select PTDUMP_CORE git grep ARCH_HAS_DEBUG_WX arch/ arch/arm64/Kconfig: select ARCH_HAS_DEBUG_WX arch/powerpc/Kconfig: select ARCH_HAS_DEBUG_WX if STRICT_KERNEL_RWX arch/riscv/Kconfig: select ARCH_HAS_DEBUG_WX arch/s390/Kconfig: select ARCH_HAS_DEBUG_WX arch/x86/Kconfig: select ARCH_HAS_DEBUG_WX On riscv platform, does not PTDUMP_CORE implicitly imply existence of MMU ? Could there be a page table dumper without a MMU. > > But what happens if in the future an architecture selects ARCH_HAS_DEBUG_WX without selecting PTDUMP_CORE ? Should DEBUG_WX just select PTDUMP_CORE as it exists now. A platform will be able to get PTDUMP_CORE via DEBUG_WX if ARCH_HAS_DEBUG_WX is subscribed into. Would that be better ? > > >>       help >>         Generate a warning if any W+X mappings are found at boot. >>   @@ -212,9 +212,6 @@ config DEBUG_WX >>           If in doubt, say "Y". >>   -config GENERIC_PTDUMP >> -    bool >> - >>   config PTDUMP_CORE >>       bool >>   @@ -222,8 +219,7 @@ config PTDUMP_DEBUGFS >>       bool "Export kernel pagetable layout to userspace via debugfs" >>       depends on DEBUG_KERNEL >>       depends on DEBUG_FS >> -    depends on GENERIC_PTDUMP >> -    select PTDUMP_CORE >> +    depends on PTDUMP_CORE >>       help >>         Say Y here if you want to show the kernel pagetable layout in a >>         debugfs file. This information is only useful for kernel developers >