From: Arnd Bergmann <arnd@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Arnd Bergmann <arnd@arndb.de>, llvm@lists.linux.dev, Vineet Gupta <vgupta@kernel.org>, Mike Rapoport <rppt@kernel.org>, Nathan Chancellor <nathan@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, Tom Rix <trix@redhat.com>, David Hildenbrand <david@redhat.com>, "Liam R. Howlett" <Liam.Howlett@Oracle.com>, "Matthew Wilcox (Oracle)" <willy@infradead.org>, Suren Baghdasaryan <surenb@google.com>, Naoya Horiguchi <naoya.horiguchi@nec.com>, linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static Date: Sat, 15 Apr 2023 10:18:20 +0200 [thread overview] Message-ID: <20230415081904.969049-1-arnd@kernel.org> (raw) From: Arnd Bergmann <arnd@arndb.de> clang produces a build failure on x86 for some randconfig builds after a change that moves around code to mm/mm_init.c: Cannot find symbol for section 2: .text. mm/mm_init.o: failed I have not been able to figure out why this happens, but the __weak annotation on arch_has_descending_max_zone_pfns() is the trigger here. Removing the weak function in favor of an open-coded Kconfig option check avoids the problem and becomes clearer as well as better to optimize by the compiler. Fixes: 9420f89db2dd ("mm: move most of core MM initialization to mm/mm_init.c") Cc: llvm@lists.linux.dev Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- v2: fix logic bug reported-by: kernel test robot <oliver.sang@intel.com>, see https://lore.kernel.org/oe-lkp/202304151422.5e4d380b-oliver.sang@intel.com --- arch/arc/mm/init.c | 5 ----- include/linux/mm.h | 1 - mm/mm_init.c | 4 ++-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c index ce4e939a7f07..2b89b6c53801 100644 --- a/arch/arc/mm/init.c +++ b/arch/arc/mm/init.c @@ -74,11 +74,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) base, TO_MB(size), !in_use ? "Not used":""); } -bool arch_has_descending_max_zone_pfns(void) -{ - return !IS_ENABLED(CONFIG_ARC_HAS_PAE40); -} - /* * First memory setup routine called from setup_arch() * 1. setup swapper's mm @init_mm diff --git a/include/linux/mm.h b/include/linux/mm.h index 63acf4a598fe..75d8adce0aee 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3061,7 +3061,6 @@ extern void setup_per_cpu_pageset(void); extern int min_free_kbytes; extern int watermark_boost_factor; extern int watermark_scale_factor; -extern bool arch_has_descending_max_zone_pfns(void); /* nommu.c */ extern atomic_long_t mmap_pages_allocated; diff --git a/mm/mm_init.c b/mm/mm_init.c index 35302b7bca83..7f7f9c677854 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1754,9 +1754,9 @@ static void __init free_area_init_memoryless_node(int nid) * Some architectures, e.g. ARC may have ZONE_HIGHMEM below ZONE_NORMAL. For * such cases we allow max_zone_pfn sorted in the descending order */ -bool __weak arch_has_descending_max_zone_pfns(void) +static bool arch_has_descending_max_zone_pfns(void) { - return false; + return IS_ENABLED(CONFIG_ARC) && !IS_ENABLED(CONFIG_ARC_HAS_PAE40); } /** -- 2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Arnd Bergmann <arnd@arndb.de>, llvm@lists.linux.dev, Vineet Gupta <vgupta@kernel.org>, Mike Rapoport <rppt@kernel.org>, Nathan Chancellor <nathan@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, Tom Rix <trix@redhat.com>, David Hildenbrand <david@redhat.com>, "Liam R. Howlett" <Liam.Howlett@Oracle.com>, "Matthew Wilcox (Oracle)" <willy@infradead.org>, Suren Baghdasaryan <surenb@google.com>, Naoya Horiguchi <naoya.horiguchi@nec.com>, linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static Date: Sat, 15 Apr 2023 10:18:20 +0200 [thread overview] Message-ID: <20230415081904.969049-1-arnd@kernel.org> (raw) From: Arnd Bergmann <arnd@arndb.de> clang produces a build failure on x86 for some randconfig builds after a change that moves around code to mm/mm_init.c: Cannot find symbol for section 2: .text. mm/mm_init.o: failed I have not been able to figure out why this happens, but the __weak annotation on arch_has_descending_max_zone_pfns() is the trigger here. Removing the weak function in favor of an open-coded Kconfig option check avoids the problem and becomes clearer as well as better to optimize by the compiler. Fixes: 9420f89db2dd ("mm: move most of core MM initialization to mm/mm_init.c") Cc: llvm@lists.linux.dev Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- v2: fix logic bug reported-by: kernel test robot <oliver.sang@intel.com>, see https://lore.kernel.org/oe-lkp/202304151422.5e4d380b-oliver.sang@intel.com --- arch/arc/mm/init.c | 5 ----- include/linux/mm.h | 1 - mm/mm_init.c | 4 ++-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c index ce4e939a7f07..2b89b6c53801 100644 --- a/arch/arc/mm/init.c +++ b/arch/arc/mm/init.c @@ -74,11 +74,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) base, TO_MB(size), !in_use ? "Not used":""); } -bool arch_has_descending_max_zone_pfns(void) -{ - return !IS_ENABLED(CONFIG_ARC_HAS_PAE40); -} - /* * First memory setup routine called from setup_arch() * 1. setup swapper's mm @init_mm diff --git a/include/linux/mm.h b/include/linux/mm.h index 63acf4a598fe..75d8adce0aee 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3061,7 +3061,6 @@ extern void setup_per_cpu_pageset(void); extern int min_free_kbytes; extern int watermark_boost_factor; extern int watermark_scale_factor; -extern bool arch_has_descending_max_zone_pfns(void); /* nommu.c */ extern atomic_long_t mmap_pages_allocated; diff --git a/mm/mm_init.c b/mm/mm_init.c index 35302b7bca83..7f7f9c677854 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1754,9 +1754,9 @@ static void __init free_area_init_memoryless_node(int nid) * Some architectures, e.g. ARC may have ZONE_HIGHMEM below ZONE_NORMAL. For * such cases we allow max_zone_pfn sorted in the descending order */ -bool __weak arch_has_descending_max_zone_pfns(void) +static bool arch_has_descending_max_zone_pfns(void) { - return false; + return IS_ENABLED(CONFIG_ARC) && !IS_ENABLED(CONFIG_ARC_HAS_PAE40); } /** -- 2.39.2 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next reply other threads:[~2023-04-15 8:19 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-04-15 8:18 Arnd Bergmann [this message] 2023-04-15 8:18 ` [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static Arnd Bergmann 2023-04-17 10:05 ` Vlastimil Babka 2023-04-17 10:05 ` Vlastimil Babka 2023-04-17 18:55 ` SeongJae Park 2023-04-17 18:55 ` SeongJae Park 2023-04-18 12:36 ` Geert Uytterhoeven 2023-04-18 12:36 ` Geert Uytterhoeven 2023-04-18 20:18 ` Mike Rapoport 2023-04-18 20:18 ` Mike Rapoport
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230415081904.969049-1-arnd@kernel.org \ --to=arnd@kernel.org \ --cc=Liam.Howlett@Oracle.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=david@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-snps-arc@lists.infradead.org \ --cc=llvm@lists.linux.dev \ --cc=naoya.horiguchi@nec.com \ --cc=nathan@kernel.org \ --cc=ndesaulniers@google.com \ --cc=rppt@kernel.org \ --cc=surenb@google.com \ --cc=trix@redhat.com \ --cc=vgupta@kernel.org \ --cc=willy@infradead.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.