From: Chengkaitao <pilgrimtao@gmail.com>
To: akpm@linux-foundation.org
Cc: linux-mm@kvack.org,
"David Hildenbrand (Red Hat)" <david@kernel.org>,
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v6 2/2] mm: Convert vmemmap_p?d_populate() to static functions
Date: Tue, 31 Mar 2026 11:16:33 +0800 [thread overview]
Message-ID: <CAAWJmAaOL_NUtJZfHguSdPUsNVCSU0U=GWnTeVAKhnGgwSKeEg@mail.gmail.com> (raw)
In-Reply-To: <20260201063532.44807-3-pilgrimtao@gmail.com>
Hi Andrew Morton,
I noticed this patch was dropped; the failure report is here:
https://lore.kernel.org/all/202603251338.grra8xt7-lkp@intel.com/#R
Could this be a false positive? The series has two patches: the first
one already removed references to vmemmap_p?d_populate() on sparc; see:
https://lore.kernel.org/all/20260201063532.44807-3-pilgrimtao@gmail.com/T/#mefaa36aeff173d08f0508cd44be46e830c067fe9
Might the build error be because only the second patch was applied,
without the first?
On Sun, Feb 1, 2026 at 2:35 PM chengkaitao <pilgrimtao@gmail.com> wrote:
>
> From: Chengkaitao <chengkaitao@kylinos.cn>
>
> Since the vmemmap_p?d_populate functions are unused outside the mm
> subsystem, we can remove their external declarations and convert
> them to static functions.
>
> Signed-off-by: Chengkaitao <chengkaitao@kylinos.cn>
> ---
> include/linux/mm.h | 7 -------
> mm/sparse-vmemmap.c | 10 +++++-----
> 2 files changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index f0d5be9dc736..10a0664b4ce2 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -4238,13 +4238,6 @@ unsigned long section_map_size(void);
> struct page * __populate_section_memmap(unsigned long pfn,
> unsigned long nr_pages, int nid, struct vmem_altmap *altmap,
> struct dev_pagemap *pgmap);
> -pgd_t *vmemmap_pgd_populate(unsigned long addr, int node);
> -p4d_t *vmemmap_p4d_populate(pgd_t *pgd, unsigned long addr, int node);
> -pud_t *vmemmap_pud_populate(p4d_t *p4d, unsigned long addr, int node);
> -pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node);
> -pte_t *vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node,
> - struct vmem_altmap *altmap, unsigned long ptpfn,
> - unsigned long flags);
> void *vmemmap_alloc_block(unsigned long size, int node);
> struct vmem_altmap;
> void *vmemmap_alloc_block_buf(unsigned long size, int node,
> diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
> index 37522d6cb398..67f9a08c2376 100644
> --- a/mm/sparse-vmemmap.c
> +++ b/mm/sparse-vmemmap.c
> @@ -151,7 +151,7 @@ void __meminit vmemmap_verify(pte_t *pte, int node,
> start, end - 1);
> }
>
> -pte_t * __meminit vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node,
> +static pte_t * __meminit vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node,
> struct vmem_altmap *altmap,
> unsigned long ptpfn, unsigned long flags)
> {
> @@ -195,7 +195,7 @@ static void * __meminit vmemmap_alloc_block_zero(unsigned long size, int node)
> return p;
> }
>
> -pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)
> +static pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)
> {
> pmd_t *pmd = pmd_offset(pud, addr);
> if (pmd_none(*pmd)) {
> @@ -208,7 +208,7 @@ pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)
> return pmd;
> }
>
> -pud_t * __meminit vmemmap_pud_populate(p4d_t *p4d, unsigned long addr, int node)
> +static pud_t * __meminit vmemmap_pud_populate(p4d_t *p4d, unsigned long addr, int node)
> {
> pud_t *pud = pud_offset(p4d, addr);
> if (pud_none(*pud)) {
> @@ -221,7 +221,7 @@ pud_t * __meminit vmemmap_pud_populate(p4d_t *p4d, unsigned long addr, int node)
> return pud;
> }
>
> -p4d_t * __meminit vmemmap_p4d_populate(pgd_t *pgd, unsigned long addr, int node)
> +static p4d_t * __meminit vmemmap_p4d_populate(pgd_t *pgd, unsigned long addr, int node)
> {
> p4d_t *p4d = p4d_offset(pgd, addr);
> if (p4d_none(*p4d)) {
> @@ -234,7 +234,7 @@ p4d_t * __meminit vmemmap_p4d_populate(pgd_t *pgd, unsigned long addr, int node)
> return p4d;
> }
>
> -pgd_t * __meminit vmemmap_pgd_populate(unsigned long addr, int node)
> +static pgd_t * __meminit vmemmap_pgd_populate(unsigned long addr, int node)
> {
> pgd_t *pgd = pgd_offset_k(addr);
> if (pgd_none(*pgd)) {
> --
> 2.50.1 (Apple Git-155)
>
--
Yours,
Chengkaitao
next prev parent reply other threads:[~2026-03-31 3:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-01 6:35 [PATCH v6 0/2] Generalize vmemmap_populate_hugepages to sparc chengkaitao
2026-02-01 6:35 ` [PATCH v6 1/2] sparc: Use vmemmap_populate_hugepages for vmemmap_populate chengkaitao
2026-03-18 15:07 ` Andreas Larsson
2026-02-01 6:35 ` [PATCH v6 2/2] mm: Convert vmemmap_p?d_populate() to static functions chengkaitao
2026-02-02 9:09 ` David Hildenbrand (arm)
2026-03-31 3:16 ` Chengkaitao [this message]
2026-03-31 3:54 ` Andrew Morton
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='CAAWJmAaOL_NUtJZfHguSdPUsNVCSU0U=GWnTeVAKhnGgwSKeEg@mail.gmail.com' \
--to=pilgrimtao@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=david@kernel.org \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox