From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux admin Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Date: Mon, 10 Feb 2020 11:06:39 +0000 Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> References: <1580897674-16456-1-git-send-email-anshuman.khandual@arm.com> <202002060619.wEOdAZU1%lkp@intel.com> <78d3ce6b-e100-2561-6b09-124c29731d1a@arm.com> <20200209205231.44d098f8749e88190b8ba10c@linux-foundation.org> <955229f7-f161-f720-0e75-a3163f63817d@arm.com> <20200210100200.GB25745@shell.armlinux.org.uk> <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=aeWA+W0PGAgrYTWJZwWRrLHBIuWc0rF5EqfQap3aqCQ=; b=YpGDrUSMZ0wRUe qG60fYEMXGqvEVX3OY++dqtsE3Q/w1HCTFBDcNnlctuXoa3fff4G9U3mqMTTAmGJe9eH8Bwcs6g6E WWhITayUmEtjnb+PxsaY6Sy01JkNJ5UdVTsdi/xXmUAvAMA8gDP7ZoWHl8+3/CBs3u3Y4bxjJ7N6Q SpyOn7ILNg3Jf7EM1t0S5mPzwNHIUvlr830/5TkU0M4ckinA8PyX/nCgb24kMiriVJca6NLGLFhLO 728mAuZHUvMTF7NFSeVHOko9lSSNrym4SdZw1IzfJt7cwaOiWoSmxbdRjUm7t3QLyLk8F1uv1RiZq L4t981zTQwDPEP2yjsIQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=qrkbsPru1lr3ira5I9xWBowT9 pYyZLn+zGIyBwT0E94NzTtGTmKxIJthJ13h6C97vIAIg0RliWwgKf+WmKWXxBlrndc+VYR8DqF0u8 kLn5LP8E9C0yosgq5Zwl69HxjzG0vd3eUX37M0JzcOlOw0ylRSXG7MJNBvaf5Zjhmm+iVAuZZpi4P wkVwMkOhw7imN7PjDlbW9t8EGGVTegaRakCCh7775d7zk985OYH3cWbveigOQwvuzN1SoPIwwjGPF aJUGhEExIsLTHen8dY9vGmFUFIx9Q9xQJkrjq7idtYLtOfV3IdkZgc1cyFRmbJDqlBuxPFHLpFbxt Ho5+QgUHg==; Content-Disposition: inline In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+gla-linux-snps-arc=m.gmane-mx.org@lists.infradead.org To: Christophe Leroy Cc: Mark Rutland , uclinux-h8-devel@lists.sourceforge.jp, linux-m68k@vger.kernel.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , James Hogan , Tetsuo Handa , Heiko Carstens , Michal Hocko , linux-mm@kvack.org, Paul Mackerras , sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, Thomas Gleixner , linux-s390@vger.kernel.org, kbuild test robot , Yoshinori Sato , Max Filippov , Michael Ellerman , x86@kernel.org, Matthew Wilcox , Steven Price , Jason Gunthorpe , Geert Uytterhoeven On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: > = > = > Le 10/02/2020 =E0 11:02, Russell King - ARM Linux admin a =E9crit=A0: > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > > = > > > = > > > Le 10/02/2020 =E0 06:35, Anshuman Khandual a =E9crit=A0: > > > > = > > > > = > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > > = > > > > > > = > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > > = > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > > = > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/for-= next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/cor= e next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please drop = us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' opti= on to specify the > > > > > > > base tree in git format-patch, please see https://stackoverfl= ow.com/a/37406982] > > > > > > > = > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-Kha= ndual/mm-debug-Add-tests-validating-architecture-page-table-helpers/2020020= 5-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/power= pc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-te= sts/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=3D7.5.0 make.cross ARCH=3Dia64 > > > > > > > = > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > > = > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > > = > > > > > > > In file included from include/asm-generic/pgtable-nopud.= h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:58= 6, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: im= plicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=3Dim= plicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning: = missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > > = > > > > > > This build failure is expected now given that we have allowed D= EBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTABL= E. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known t= o exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org/l= kml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > > = > > > > > = > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to prevent = these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > > = > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and arm= platforms > > > > which will ensure that others can still use the EXPERT path. > > > > = > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > > = > > > = > > > On both ia32 and arm, the fix is trivial. > > > = > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > > = > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > > = > = > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h > = > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of defining > __pgd and __pte and getting everything else from asm-generic, it defines a > __pmd then redefines the folded levels like the pud, etc ... > = > That's exactly what the checker aims at detecting: architectures than do = not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. -- = RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps = up According to speedtest.net: 11.9Mbps down 500kbps up 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 X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37986C352A3 for ; Mon, 10 Feb 2020 11:08:32 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0E8B52080C for ; Mon, 10 Feb 2020 11:08:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="QlO0tcg9"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="qrkbsPru" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0E8B52080C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+infradead-linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=QlO0tcg9CnkxNFdDrCNpWwJC5 XNjLVZ9DXmNlsNmX+1LWGzCu7Y+kkGwJG0iOseVPrBD0mNQbtBO35LIRqHaYHJJZYq/rQqiymnPo6 kaHTChTJ0RLsNWsHpNelqMxJg8R3Pn0KFRXglzwwgqXylCiWjJogF+ItphwxQwY1x/tHEjyTayYEh bGbZkyxamAhBGE6B/m2Y1D1x2GETviRnDv3NDuKHv5FUyKsGOY5jHnbgnlrh6gSGucryZu2is/mYi +pUKCT9XHUOYdA1W+oWs5XbYOYqP1hJcIO0NVR7P5s+WyajZ6LdUzPJfRbxAqA+ozgi0aaFWs+DR7 LrlhMQKPg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j16vT-0007v8-R5; Mon, 10 Feb 2020 11:08:27 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j16vP-0007uW-Up; Mon, 10 Feb 2020 11:08:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=qrkbsPru1lr3ira5I9xWBowT9 pYyZLn+zGIyBwT0E94NzTtGTmKxIJthJ13h6C97vIAIg0RliWwgKf+WmKWXxBlrndc+VYR8DqF0u8 kLn5LP8E9C0yosgq5Zwl69HxjzG0vd3eUX37M0JzcOlOw0ylRSXG7MJNBvaf5Zjhmm+iVAuZZpi4P wkVwMkOhw7imN7PjDlbW9t8EGGVTegaRakCCh7775d7zk985OYH3cWbveigOQwvuzN1SoPIwwjGPF aJUGhEExIsLTHen8dY9vGmFUFIx9Q9xQJkrjq7idtYLtOfV3IdkZgc1cyFRmbJDqlBuxPFHLpFbxt Ho5+QgUHg==; Received: from shell.armlinux.org.uk ([2001:4d48:ad52:3201:5054:ff:fe00:4ec]:38428) by pandora.armlinux.org.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1j16u1-0006Ks-96; Mon, 10 Feb 2020 11:06:57 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.92) (envelope-from ) id 1j16tj-0007pZ-6Y; Mon, 10 Feb 2020 11:06:39 +0000 Date: Mon, 10 Feb 2020 11:06:39 +0000 From: Russell King - ARM Linux admin To: Christophe Leroy Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> References: <1580897674-16456-1-git-send-email-anshuman.khandual@arm.com> <202002060619.wEOdAZU1%lkp@intel.com> <78d3ce6b-e100-2561-6b09-124c29731d1a@arm.com> <20200209205231.44d098f8749e88190b8ba10c@linux-foundation.org> <955229f7-f161-f720-0e75-a3163f63817d@arm.com> <20200210100200.GB25745@shell.armlinux.org.uk> <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200210_030824_264063_26468693 X-CRM114-Status: GOOD ( 31.63 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , uclinux-h8-devel@lists.sourceforge.jp, linux-m68k@vger.kernel.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , James Hogan , Tetsuo Handa , Heiko Carstens , Michal Hocko , linux-mm@kvack.org, Paul Mackerras , sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, Thomas Gleixner , linux-s390@vger.kernel.org, kbuild test robot , Yoshinori Sato , Max Filippov , Michael Ellerman , x86@kernel.org, Matthew Wilcox , Steven Price , Jason Gunthorpe , Geert Uytterhoeven , Gerald Schaefer , Mark Salter , Matt Turner , linux-snps-arc@lists.infradead.org, Ingo Molnar , linux-xtensa@linux-xtensa.org, Kees Cook , Anshuman Khandual , Masahiro Yamada , linux-alpha@vger.kernel.org, Aurelien Jacquiot , linux-c6x-dev@linux-c6x.org, Mark Brown , Ivan Kokshaysky , Paul Walmsley , "Kirill A . Shutemov" , Dan Williams , Guan Xuetao , Vlastimil Babka , Richard Henderson , linux-arm-kernel@lists.infradead.org, Chris Zankel , Michal Simek , kbuild-all@lists.01.org, Brian Cain , Ard Biesheuvel , Greg Kroah-Hartman , Dave Hansen , linux-mips@vger.kernel.org, Ralf Baechle , linux-kernel@vger.kernel.org, Paul Burton , Mike Rapoport , Palmer Dabbelt , Vineet Gupta , Martin Schwidefsky , Qian Cai , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+infradead-linux-riscv=archiver.kernel.org@lists.infradead.org On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: > > > Le 10/02/2020 à 11:02, Russell King - ARM Linux admin a écrit : > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > > > > > > > > Le 10/02/2020 à 06:35, Anshuman Khandual a écrit : > > > > > > > > > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > > > > > > > > > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > > > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > > > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/for-next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/core next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please drop us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' option to specify the > > > > > > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > > > > > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-Khandual/mm-debug-Add-tests-validating-architecture-page-table-helpers/20200205-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=7.5.0 make.cross ARCH=ia64 > > > > > > > > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > > > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > > > > > > > > > In file included from include/asm-generic/pgtable-nopud.h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:586, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: implicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=implicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro '__pud' > > > > > > > pud = __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning: missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro '__pud' > > > > > > > pud = __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > > > > > > > > This build failure is expected now given that we have allowed DEBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTABLE. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known to exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org/lkml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > > > > > > > > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to prevent these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > > > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and arm platforms > > > > which will ensure that others can still use the EXPERT path. > > > > > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > > > > > > > > On both ia32 and arm, the fix is trivial. > > > > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > > > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > > > > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h > > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of defining > __pgd and __pte and getting everything else from asm-generic, it defines a > __pmd then redefines the folded levels like the pud, etc ... > > That's exactly what the checker aims at detecting: architectures than do not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up 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 X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12131C352A3 for ; Mon, 10 Feb 2020 11:08:30 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D13F92080C for ; Mon, 10 Feb 2020 11:08:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YpGDrUSM"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="qrkbsPru" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D13F92080C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=aeWA+W0PGAgrYTWJZwWRrLHBIuWc0rF5EqfQap3aqCQ=; b=YpGDrUSMZ0wRUe qG60fYEMXGqvEVX3OY++dqtsE3Q/w1HCTFBDcNnlctuXoa3fff4G9U3mqMTTAmGJe9eH8Bwcs6g6E WWhITayUmEtjnb+PxsaY6Sy01JkNJ5UdVTsdi/xXmUAvAMA8gDP7ZoWHl8+3/CBs3u3Y4bxjJ7N6Q SpyOn7ILNg3Jf7EM1t0S5mPzwNHIUvlr830/5TkU0M4ckinA8PyX/nCgb24kMiriVJca6NLGLFhLO 728mAuZHUvMTF7NFSeVHOko9lSSNrym4SdZw1IzfJt7cwaOiWoSmxbdRjUm7t3QLyLk8F1uv1RiZq L4t981zTQwDPEP2yjsIQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j16vU-0007vr-Kh; Mon, 10 Feb 2020 11:08:28 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j16vP-0007uW-Up; Mon, 10 Feb 2020 11:08:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=qrkbsPru1lr3ira5I9xWBowT9 pYyZLn+zGIyBwT0E94NzTtGTmKxIJthJ13h6C97vIAIg0RliWwgKf+WmKWXxBlrndc+VYR8DqF0u8 kLn5LP8E9C0yosgq5Zwl69HxjzG0vd3eUX37M0JzcOlOw0ylRSXG7MJNBvaf5Zjhmm+iVAuZZpi4P wkVwMkOhw7imN7PjDlbW9t8EGGVTegaRakCCh7775d7zk985OYH3cWbveigOQwvuzN1SoPIwwjGPF aJUGhEExIsLTHen8dY9vGmFUFIx9Q9xQJkrjq7idtYLtOfV3IdkZgc1cyFRmbJDqlBuxPFHLpFbxt Ho5+QgUHg==; Received: from shell.armlinux.org.uk ([2001:4d48:ad52:3201:5054:ff:fe00:4ec]:38428) by pandora.armlinux.org.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1j16u1-0006Ks-96; Mon, 10 Feb 2020 11:06:57 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.92) (envelope-from ) id 1j16tj-0007pZ-6Y; Mon, 10 Feb 2020 11:06:39 +0000 Date: Mon, 10 Feb 2020 11:06:39 +0000 From: Russell King - ARM Linux admin To: Christophe Leroy Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> References: <1580897674-16456-1-git-send-email-anshuman.khandual@arm.com> <202002060619.wEOdAZU1%lkp@intel.com> <78d3ce6b-e100-2561-6b09-124c29731d1a@arm.com> <20200209205231.44d098f8749e88190b8ba10c@linux-foundation.org> <955229f7-f161-f720-0e75-a3163f63817d@arm.com> <20200210100200.GB25745@shell.armlinux.org.uk> <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200210_030824_264063_26468693 X-CRM114-Status: GOOD ( 31.63 ) X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , uclinux-h8-devel@lists.sourceforge.jp, linux-m68k@vger.kernel.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , James Hogan , Tetsuo Handa , Heiko Carstens , Michal Hocko , linux-mm@kvack.org, Paul Mackerras , sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, Thomas Gleixner , linux-s390@vger.kernel.org, kbuild test robot , Yoshinori Sato , Max Filippov , Michael Ellerman , x86@kernel.org, Matthew Wilcox , Steven Price , Jason Gunthorpe , Geert Uytterhoeven , Gerald Schaefer , Mark Salter , Matt Turner , linux-snps-arc@lists.infradead.org, Ingo Molnar , linux-xtensa@linux-xtensa.org, Kees Cook , Anshuman Khandual , Masahiro Yamada , linux-alpha@vger.kernel.org, Aurelien Jacquiot , linux-c6x-dev@linux-c6x.org, Mark Brown , Ivan Kokshaysky , Paul Walmsley , "Kirill A . Shutemov" , Dan Williams , Guan Xuetao , Vlastimil Babka , Richard Henderson , linux-arm-kernel@lists.infradead.org, Chris Zankel , Michal Simek , kbuild-all@lists.01.org, Brian Cain , Ard Biesheuvel , Greg Kroah-Hartman , Dave Hansen , linux-mips@vger.kernel.org, Ralf Baechle , linux-kernel@vger.kernel.org, Paul Burton , Mike Rapoport , Palmer Dabbelt , Vineet Gupta , Martin Schwidefsky , Qian Cai , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: > = > = > Le 10/02/2020 =E0 11:02, Russell King - ARM Linux admin a =E9crit=A0: > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > > = > > > = > > > Le 10/02/2020 =E0 06:35, Anshuman Khandual a =E9crit=A0: > > > > = > > > > = > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > > = > > > > > > = > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > > = > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > > = > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/for-= next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/cor= e next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please drop = us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' opti= on to specify the > > > > > > > base tree in git format-patch, please see https://stackoverfl= ow.com/a/37406982] > > > > > > > = > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-Kha= ndual/mm-debug-Add-tests-validating-architecture-page-table-helpers/2020020= 5-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/power= pc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-te= sts/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=3D7.5.0 make.cross ARCH=3Dia64 > > > > > > > = > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > > = > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > > = > > > > > > > In file included from include/asm-generic/pgtable-nopud.= h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:58= 6, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: im= plicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=3Dim= plicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning: = missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > > = > > > > > > This build failure is expected now given that we have allowed D= EBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTABL= E. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known t= o exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org/l= kml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > > = > > > > > = > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to prevent = these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > > = > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and arm= platforms > > > > which will ensure that others can still use the EXPERT path. > > > > = > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > > = > > > = > > > On both ia32 and arm, the fix is trivial. > > > = > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > > = > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > > = > = > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h > = > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of defining > __pgd and __pte and getting everything else from asm-generic, it defines a > __pmd then redefines the folded levels like the pud, etc ... > = > That's exactly what the checker aims at detecting: architectures than do = not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. -- = RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps = up According to speedtest.net: 11.9Mbps down 500kbps up _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2982906597449286274==" MIME-Version: 1.0 From: Russell King - ARM Linux admin To: kbuild-all@lists.01.org Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Date: Mon, 10 Feb 2020 11:06:39 +0000 Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> List-Id: --===============2982906597449286274== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: > = > = > Le 10/02/2020 =C3=A0 11:02, Russell King - ARM Linux admin a =C3=A9crit= =C2=A0: > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > > = > > > = > > > Le 10/02/2020 =C3=A0 06:35, Anshuman Khandual a =C3=A9crit=C2=A0: > > > > = > > > > = > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > > = > > > > > > = > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > > = > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > > = > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/for-= next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/cor= e next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please drop = us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' opti= on to specify the > > > > > > > base tree in git format-patch, please see https://stackoverfl= ow.com/a/37406982] > > > > > > > = > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-Kha= ndual/mm-debug-Add-tests-validating-architecture-page-table-helpers/2020020= 5-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/power= pc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-te= sts/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=3D7.5.0 make.cross ARCH=3Dia64 > > > > > > > = > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > > = > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > > = > > > > > > > In file included from include/asm-generic/pgtable-nopud.= h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:58= 6, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: im= plicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=3Dim= plicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning: = missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro = '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > > = > > > > > > This build failure is expected now given that we have allowed D= EBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTABL= E. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known t= o exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org/l= kml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > > = > > > > > = > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to prevent = these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > > = > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and arm= platforms > > > > which will ensure that others can still use the EXPERT path. > > > > = > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > > = > > > = > > > On both ia32 and arm, the fix is trivial. > > > = > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > > = > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > > = > = > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h > = > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of defining > __pgd and __pte and getting everything else from asm-generic, it defines a > __pmd then redefines the folded levels like the pud, etc ... > = > That's exactly what the checker aims at detecting: architectures than do = not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. -- = RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps = up According to speedtest.net: 11.9Mbps down 500kbps up --===============2982906597449286274==-- 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 X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0444C352A3 for ; Mon, 10 Feb 2020 12:03:06 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3C96720733 for ; Mon, 10 Feb 2020 12:03:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="qrkbsPru" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C96720733 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 48GPgC53LszDqPR for ; Mon, 10 Feb 2020 23:03:03 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=armlinux.org.uk (client-ip=2001:4d48:ad52:3201:214:fdff:fe10:1be6; helo=pandora.armlinux.org.uk; envelope-from=linux+linuxppc-dev=lists.ozlabs.org@armlinux.org.uk; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.a=rsa-sha256 header.s=pandora-2019 header.b=qrkbsPru; dkim-atps=neutral Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 48GNS958xvzDqJf for ; Mon, 10 Feb 2020 22:08:25 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=qrkbsPru1lr3ira5I9xWBowT9 pYyZLn+zGIyBwT0E94NzTtGTmKxIJthJ13h6C97vIAIg0RliWwgKf+WmKWXxBlrndc+VYR8DqF0u8 kLn5LP8E9C0yosgq5Zwl69HxjzG0vd3eUX37M0JzcOlOw0ylRSXG7MJNBvaf5Zjhmm+iVAuZZpi4P wkVwMkOhw7imN7PjDlbW9t8EGGVTegaRakCCh7775d7zk985OYH3cWbveigOQwvuzN1SoPIwwjGPF aJUGhEExIsLTHen8dY9vGmFUFIx9Q9xQJkrjq7idtYLtOfV3IdkZgc1cyFRmbJDqlBuxPFHLpFbxt Ho5+QgUHg==; Received: from shell.armlinux.org.uk ([2001:4d48:ad52:3201:5054:ff:fe00:4ec]:38428) by pandora.armlinux.org.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1j16u1-0006Ks-96; Mon, 10 Feb 2020 11:06:57 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.92) (envelope-from ) id 1j16tj-0007pZ-6Y; Mon, 10 Feb 2020 11:06:39 +0000 Date: Mon, 10 Feb 2020 11:06:39 +0000 From: Russell King - ARM Linux admin To: Christophe Leroy Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> References: <1580897674-16456-1-git-send-email-anshuman.khandual@arm.com> <202002060619.wEOdAZU1%lkp@intel.com> <78d3ce6b-e100-2561-6b09-124c29731d1a@arm.com> <20200209205231.44d098f8749e88190b8ba10c@linux-foundation.org> <955229f7-f161-f720-0e75-a3163f63817d@arm.com> <20200210100200.GB25745@shell.armlinux.org.uk> <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> User-Agent: Mutt/1.10.1 (2018-07-13) X-Mailman-Approved-At: Mon, 10 Feb 2020 23:00:02 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , uclinux-h8-devel@lists.sourceforge.jp, linux-m68k@vger.kernel.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , James Hogan , Tetsuo Handa , Heiko Carstens , Michal Hocko , linux-mm@kvack.org, Paul Mackerras , sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, Thomas Gleixner , linux-s390@vger.kernel.org, kbuild test robot , Yoshinori Sato , Max Filippov , x86@kernel.org, Matthew Wilcox , Steven Price , Jason Gunthorpe , Geert Uytterhoeven , Gerald Schaefer , Mark Salter , Matt Turner , linux-snps-arc@lists.infradead.org, Ingo Molnar , linux-xtensa@linux-xtensa.org, Kees Cook , Anshuman Khandual , Masahiro Yamada , linux-alpha@vger.kernel.org, Aurelien Jacquiot , linux-c6x-dev@linux-c6x.org, Mark Brown , Ivan Kokshaysky , Paul Walmsley , "Kirill A . Shutemov" , Dan Williams , Guan Xuetao , Vlastimil Babka , Richard Henderson , linux-arm-kernel@lists.infradead.org, Chris Zankel , Michal Simek , kbuild-all@lists.01.org, Brian Cain , Ard Biesheuvel , Greg Kroah-Hartman , Dave Hansen , linux-mips@vger.kernel.org, Ralf Baechle , linux-kernel@vger.kernel.org, Paul Burton , Mike Rapoport , Palmer Dabbelt , Vineet Gupta , Martin Schwidefsky , Qian Cai , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: > > > Le 10/02/2020 à 11:02, Russell King - ARM Linux admin a écrit : > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > > > > > > > > Le 10/02/2020 à 06:35, Anshuman Khandual a écrit : > > > > > > > > > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > > > > > > > > > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > > > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > > > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/for-next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/core next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please drop us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' option to specify the > > > > > > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > > > > > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-Khandual/mm-debug-Add-tests-validating-architecture-page-table-helpers/20200205-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=7.5.0 make.cross ARCH=ia64 > > > > > > > > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > > > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > > > > > > > > > In file included from include/asm-generic/pgtable-nopud.h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:586, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: implicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=implicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro '__pud' > > > > > > > pud = __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning: missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macro '__pud' > > > > > > > pud = __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > > > > > > > > This build failure is expected now given that we have allowed DEBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTABLE. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known to exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org/lkml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > > > > > > > > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to prevent these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > > > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and arm platforms > > > > which will ensure that others can still use the EXPERT path. > > > > > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > > > > > > > > On both ia32 and arm, the fix is trivial. > > > > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > > > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > > > > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h > > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of defining > __pgd and __pte and getting everything else from asm-generic, it defines a > __pmd then redefines the folded levels like the pud, etc ... > > That's exactly what the checker aims at detecting: architectures than do not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up 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 X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71E87C352A3 for ; Mon, 10 Feb 2020 11:07:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E486920838 for ; Mon, 10 Feb 2020 11:07:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="qrkbsPru" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E486920838 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 4F7546B00E6; Mon, 10 Feb 2020 06:07:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4CEF26B00E7; Mon, 10 Feb 2020 06:07:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E3C96B00E8; Mon, 10 Feb 2020 06:07:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0176.hostedemail.com [216.40.44.176]) by kanga.kvack.org (Postfix) with ESMTP id 267E96B00E6 for ; Mon, 10 Feb 2020 06:07:25 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id AAC5B181AEF00 for ; Mon, 10 Feb 2020 11:07:24 +0000 (UTC) X-FDA: 76473941208.25.yard81_7ab85d1033131 X-HE-Tag: yard81_7ab85d1033131 X-Filterd-Recvd-Size: 11091 Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [78.32.30.218]) by imf32.hostedemail.com (Postfix) with ESMTP for ; Mon, 10 Feb 2020 11:07:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=iTw2i6MUZITUD5eWPb+PW1VnYag/93bvIyoh66pK7Nw=; b=qrkbsPru1lr3ira5I9xWBowT9 pYyZLn+zGIyBwT0E94NzTtGTmKxIJthJ13h6C97vIAIg0RliWwgKf+WmKWXxBlrndc+VYR8DqF0u8 kLn5LP8E9C0yosgq5Zwl69HxjzG0vd3eUX37M0JzcOlOw0ylRSXG7MJNBvaf5Zjhmm+iVAuZZpi4P wkVwMkOhw7imN7PjDlbW9t8EGGVTegaRakCCh7775d7zk985OYH3cWbveigOQwvuzN1SoPIwwjGPF aJUGhEExIsLTHen8dY9vGmFUFIx9Q9xQJkrjq7idtYLtOfV3IdkZgc1cyFRmbJDqlBuxPFHLpFbxt Ho5+QgUHg==; Received: from shell.armlinux.org.uk ([2001:4d48:ad52:3201:5054:ff:fe00:4ec]:38428) by pandora.armlinux.org.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1j16u1-0006Ks-96; Mon, 10 Feb 2020 11:06:57 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.92) (envelope-from ) id 1j16tj-0007pZ-6Y; Mon, 10 Feb 2020 11:06:39 +0000 Date: Mon, 10 Feb 2020 11:06:39 +0000 From: Russell King - ARM Linux admin To: Christophe Leroy Cc: Anshuman Khandual , Andrew Morton , kbuild test robot , kbuild-all@lists.01.org, linux-mm@kvack.org, Vlastimil Babka , Greg Kroah-Hartman , Thomas Gleixner , Mike Rapoport , Jason Gunthorpe , Dan Williams , Peter Zijlstra , Michal Hocko , Mark Rutland , Mark Brown , Steven Price , Ard Biesheuvel , Masahiro Yamada , Kees Cook , Tetsuo Handa , Matthew Wilcox , Dave Hansen , Michael Ellerman , Paul Mackerras , Martin Schwidefsky , Heiko Carstens , "David S. Miller" , Vineet Gupta , James Hogan , Paul Burton , Ralf Baechle , "Kirill A . Shutemov" , Gerald Schaefer , Ingo Molnar , Richard Henderson , Ivan Kokshaysky , Matt Turner , Mark Salter , Aurelien Jacquiot , Yoshinori Sato , Brian Cain , Geert Uytterhoeven , Michal Simek , Paul Walmsley , Palmer Dabbelt , Guan Xuetao , Chris Zankel , Max Filippov , Qian Cai , linux-alpha@vger.kernel.org, linux-c6x-dev@linux-c6x.org, uclinux-h8-devel@lists.sourceforge.jp, linux-hexagon@vger.kernel.org, linux-m68k@vger.kernel.org, linux-riscv@lists.infradead.org, linux-xtensa@linux-xtensa.org, linux-snps-arc@lists.infradead.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V13] mm/debug: Add tests validating architecture page table helpers Message-ID: <20200210110639.GC25745@shell.armlinux.org.uk> References: <1580897674-16456-1-git-send-email-anshuman.khandual@arm.com> <202002060619.wEOdAZU1%lkp@intel.com> <78d3ce6b-e100-2561-6b09-124c29731d1a@arm.com> <20200209205231.44d098f8749e88190b8ba10c@linux-foundation.org> <955229f7-f161-f720-0e75-a3163f63817d@arm.com> <20200210100200.GB25745@shell.armlinux.org.uk> <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <7cb3a5bb-eaea-a01c-4047-e3c000b7ad1d@c-s.fr> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Transfer-Encoding: quoted-printable 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: On Mon, Feb 10, 2020 at 11:46:23AM +0100, Christophe Leroy wrote: >=20 >=20 > Le 10/02/2020 =E0 11:02, Russell King - ARM Linux admin a =E9crit=A0: > > On Mon, Feb 10, 2020 at 07:38:38AM +0100, Christophe Leroy wrote: > > >=20 > > >=20 > > > Le 10/02/2020 =E0 06:35, Anshuman Khandual a =E9crit=A0: > > > >=20 > > > >=20 > > > > On 02/10/2020 10:22 AM, Andrew Morton wrote: > > > > > On Thu, 6 Feb 2020 13:49:35 +0530 Anshuman Khandual wrote: > > > > >=20 > > > > > >=20 > > > > > > On 02/06/2020 04:40 AM, kbuild test robot wrote: > > > > > > > Hi Anshuman, > > > > > > >=20 > > > > > > > Thank you for the patch! Yet something to improve: > > > > > > >=20 > > > > > > > [auto build test ERROR on powerpc/next] > > > > > > > [also build test ERROR on s390/features linus/master arc/fo= r-next v5.5] > > > > > > > [cannot apply to mmotm/master tip/x86/core arm64/for-next/c= ore next-20200205] > > > > > > > [if your patch is applied to the wrong git tree, please dro= p us a note to help > > > > > > > improve the system. BTW, we also suggest to use '--base' op= tion to specify the > > > > > > > base tree in git format-patch, please see https://stackover= flow.com/a/37406982] > > > > > > >=20 > > > > > > > url: https://github.com/0day-ci/linux/commits/Anshuman-K= handual/mm-debug-Add-tests-validating-architecture-page-table-helpers/202= 00205-215507 > > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/pow= erpc/linux.git next > > > > > > > config: ia64-allmodconfig (attached as .config) > > > > > > > compiler: ia64-linux-gcc (GCC) 7.5.0 > > > > > > > reproduce: > > > > > > > wget https://raw.githubusercontent.com/intel/lkp-= tests/master/sbin/make.cross -O ~/bin/make.cross > > > > > > > chmod +x ~/bin/make.cross > > > > > > > # save the attached .config to linux build tree > > > > > > > GCC_VERSION=3D7.5.0 make.cross ARCH=3Dia64 > > > > > > >=20 > > > > > > > If you fix the issue, kindly add following tag > > > > > > > Reported-by: kbuild test robot > > > > > > >=20 > > > > > > > All error/warnings (new ones prefixed by >>): > > > > > > >=20 > > > > > > > In file included from include/asm-generic/pgtable-nopu= d.h:8:0, > > > > > > > from arch/ia64/include/asm/pgtable.h:= 586, > > > > > > > from include/linux/mm.h:99, > > > > > > > from include/linux/highmem.h:8, > > > > > > > from mm/debug_vm_pgtable.c:14: > > > > > > > mm/debug_vm_pgtable.c: In function 'pud_clear_tests': > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:32: error: = implicit declaration of function '__pgd'; did you mean '__p4d'? [-Werror=3D= implicit-function-declaration] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macr= o '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > > > include/asm-generic/pgtable-nop4d-hack.h:47:22: warning= : missing braces around initializer [-Wmissing-braces] > > > > > > > #define __pud(x) ((pud_t) { __pgd(x) }) > > > > > > > ^ > > > > > > > > > mm/debug_vm_pgtable.c:141:8: note: in expansion of macr= o '__pud' > > > > > > > pud =3D __pud(pud_val(pud) | RANDOM_ORVALUE); > > > > > > > ^~~~~ > > > > > > > cc1: some warnings being treated as errors > > > > > >=20 > > > > > > This build failure is expected now given that we have allowed= DEBUG_VM_PGTABLE > > > > > > with EXPERT without platform requiring ARCH_HAS_DEBUG_VM_PGTA= BLE. This problem > > > > > > i.e build failure caused without a platform __pgd(), is known= to exist both on > > > > > > ia64 and arm (32bit) platforms. Please refer https://lkml.org= /lkml/2019/9/24/314 > > > > > > for details where this was discussed earlier. > > > > > >=20 > > > > >=20 > > > > > I'd prefer not to merge a patch which is known to cause build > > > > > regressions. Is there some temporary thing we can do to preven= t these > > > > > errors until arch maintainers(?) get around to implementing the > > > > > long-term fixes? > > > >=20 > > > > We could explicitly disable CONFIG_DEBUG_VM_PGTABLE on ia64 and a= rm platforms > > > > which will ensure that others can still use the EXPERT path. > > > >=20 > > > > config DEBUG_VM_PGTABLE > > > > bool "Debug arch page table for semantics compliance" > > > > depends on MMU > > > > depends on !(IA64 || ARM) > > > > depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT > > > > default n if !ARCH_HAS_DEBUG_VM_PGTABLE > > > > default y if DEBUG_VM > > > >=20 > > >=20 > > > On both ia32 and arm, the fix is trivial. > > >=20 > > > Can we include the fix within this patch, just the same way as the > > > mm_p4d_folded() fix for x86 ? > >=20 > > Why should arm include a macro for something that nothing (apart from > > this checker) requires? If the checker requires it but the rest of > > the kernel does not, it suggests that the checker isn't actually > > correct, and the results can't be relied upon. > >=20 >=20 > As far as I can see, the problem is that arm opencodes part of the API > instead of including asm-generic/pgtable-nopmd.h >=20 > Here, the ARM has 2 levels, ie only PGD and PTE. But instead of definin= g > __pgd and __pte and getting everything else from asm-generic, it define= s a > __pmd then redefines the folded levels like the pud, etc ... >=20 > That's exactly what the checker aims at detecting: architectures than d= o not > properly use the standard linux page table structures. There are good reasons for the way ARM does stuff. The generic crap was written without regard for the circumstances that ARM has, and thus is entirely unsuitable for 32-bit ARM. --=20 RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbp= s up According to speedtest.net: 11.9Mbps down 500kbps up