From: Mike Rapoport <rppt@kernel.org>
To: Arnd Bergmann <arnd@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>,
llvm@lists.linux.dev, Vineet Gupta <vgupta@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: Re: [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static
Date: Tue, 18 Apr 2023 23:18:58 +0300 [thread overview]
Message-ID: <ZD77Mh58MVMVdLrT@kernel.org> (raw)
In-Reply-To: <20230415081904.969049-1-arnd@kernel.org>
On Sat, Apr 15, 2023 at 10:18:20AM +0200, Arnd Bergmann wrote:
> 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>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
> ---
> 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
>
--
Sincerely yours,
Mike.
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Arnd Bergmann <arnd@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>,
llvm@lists.linux.dev, Vineet Gupta <vgupta@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: Re: [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static
Date: Tue, 18 Apr 2023 23:18:58 +0300 [thread overview]
Message-ID: <ZD77Mh58MVMVdLrT@kernel.org> (raw)
In-Reply-To: <20230415081904.969049-1-arnd@kernel.org>
On Sat, Apr 15, 2023 at 10:18:20AM +0200, Arnd Bergmann wrote:
> 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>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
> ---
> 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
>
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2023-04-18 20:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-15 8:18 [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static Arnd Bergmann
2023-04-15 8:18 ` 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 [this message]
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=ZD77Mh58MVMVdLrT@kernel.org \
--to=rppt@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--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=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: link
Be 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.