[{"id":3677627,"web_url":"http://patchwork.ozlabs.org/comment/3677627/","msgid":"<9ceede7b-45d3-4d15-b8ce-f0b04bbb18dd@oracle.com>","date":"2026-04-15T12:13:40","subject":"Re: [PATCH v2 4/6] mm/sparse-vmemmap: Pass @pgmap argument to arch\n vmemmap_populate()","submitter":{"id":68152,"url":"http://patchwork.ozlabs.org/api/people/68152/","name":"Joao Martins","email":"joao.m.martins@oracle.com"},"content":"On 15/04/2026 12:14, Muchun Song wrote:\n> Add the struct dev_pagemap pointer as a parameter to the architecture\n> specific vmemmap_populate(), vmemmap_populate_hugepages() and\n> vmemmap_populate_basepages() functions.\n> \n> Currently, the vmemmap optimization for DAX is handled mostly in an\n> architecture-agnostic way via vmemmap_populate_compound_pages().\n> However, this approach skips crucial architecture-specific initialization\n> steps. For example, the x86 path must call sync_global_pgds() after\n> populating the vmemmap, which is currently being bypassed.\n> \n\nHarry's series fixed in a different way (for x86):\n\nhttps://lore.kernel.org/linux-mm/20250818020206.4517-1-harry.yoo@oracle.com/#t\n\n> To lay the groundwork for fixing the vmemmap optimization in the arch\n> level, we need to pass the @pgmap pointer down to the arch specific\n> vmemmap_populate() location. Plumb the @pgmap argument through the APIs\n> of vmemmap_populate(), vmemmap_populate_hugepages() and\n> vmemmap_populate_basepages().\n> \n> Signed-off-by: Muchun Song <songmuchun@bytedance.com>\n> ---\n>  arch/arm64/mm/mmu.c                        |  6 +++---\n>  arch/loongarch/mm/init.c                   |  7 ++++---\n>  arch/powerpc/include/asm/book3s/64/radix.h |  3 ++-\n>  arch/powerpc/mm/book3s64/radix_pgtable.c   |  2 +-\n>  arch/powerpc/mm/init_64.c                  |  4 ++--\n>  arch/riscv/mm/init.c                       |  4 ++--\n>  arch/s390/mm/vmem.c                        |  2 +-\n>  arch/sparc/mm/init_64.c                    |  5 +++--\n>  arch/x86/mm/init_64.c                      |  8 ++++----\n>  include/linux/mm.h                         |  8 +++++---\n>  mm/hugetlb_vmemmap.c                       |  4 ++--\n>  mm/sparse-vmemmap.c                        | 10 ++++++----\n>  12 files changed, 35 insertions(+), 28 deletions(-)\n> \n> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c\n> index e5a42b7a0160..11227e104c48 100644\n> --- a/arch/arm64/mm/mmu.c\n> +++ b/arch/arm64/mm/mmu.c\n> @@ -1790,7 +1790,7 @@ int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\tstruct vmem_altmap *altmap)\n> +\t\tstruct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \tWARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));\n>  \t/* [start, end] should be within one section */\n> @@ -1798,9 +1798,9 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n>  \n>  \tif (!IS_ENABLED(CONFIG_ARM64_4K_PAGES) ||\n>  \t    (end - start < PAGES_PER_SECTION * sizeof(struct page)))\n> -\t\treturn vmemmap_populate_basepages(start, end, node, altmap);\n> +\t\treturn vmemmap_populate_basepages(start, end, node, altmap, pgmap);\n>  \telse\n> -\t\treturn vmemmap_populate_hugepages(start, end, node, altmap);\n> +\t\treturn vmemmap_populate_hugepages(start, end, node, altmap, pgmap);\n>  }\n>  \n>  #ifdef CONFIG_MEMORY_HOTPLUG\n> diff --git a/arch/loongarch/mm/init.c b/arch/loongarch/mm/init.c\n> index c9c57f08fa2c..d61c2e09caae 100644\n> --- a/arch/loongarch/mm/init.c\n> +++ b/arch/loongarch/mm/init.c\n> @@ -123,12 +123,13 @@ int __meminit vmemmap_check_pmd(pmd_t *pmd, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end,\n> -\t\t\t       int node, struct vmem_altmap *altmap)\n> +\t\t\t       int node, struct vmem_altmap *altmap,\n> +\t\t\t       struct dev_pagemap *pgmap)\n>  {\n>  #if CONFIG_PGTABLE_LEVELS == 2\n> -\treturn vmemmap_populate_basepages(start, end, node, NULL);\n> +\treturn vmemmap_populate_basepages(start, end, node, NULL, pgmap);\n>  #else\n> -\treturn vmemmap_populate_hugepages(start, end, node, NULL);\n> +\treturn vmemmap_populate_hugepages(start, end, node, NULL, pgmap);\n>  #endif\n>  }\n>  \n> diff --git a/arch/powerpc/include/asm/book3s/64/radix.h b/arch/powerpc/include/asm/book3s/64/radix.h\n> index da954e779744..bde07c6f900f 100644\n> --- a/arch/powerpc/include/asm/book3s/64/radix.h\n> +++ b/arch/powerpc/include/asm/book3s/64/radix.h\n> @@ -321,7 +321,8 @@ extern int __meminit radix__vmemmap_create_mapping(unsigned long start,\n>  \t\t\t\t\t     unsigned long page_size,\n>  \t\t\t\t\t     unsigned long phys);\n>  int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end,\n> -\t\t\t\t      int node, struct vmem_altmap *altmap);\n> +\t\t\t\t      int node, struct vmem_altmap *altmap,\n> +\t\t\t\t      struct dev_pagemap *pgmap);\n>  void __ref radix__vmemmap_free(unsigned long start, unsigned long end,\n>  \t\t\t       struct vmem_altmap *altmap);\n>  extern void radix__vmemmap_remove_mapping(unsigned long start,\n> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c\n> index 10aced261cff..568500343e5f 100644\n> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c\n> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c\n> @@ -1112,7 +1112,7 @@ static inline pte_t *vmemmap_pte_alloc(pmd_t *pmdp, int node,\n>  \n>  \n>  int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\t\t\t      struct vmem_altmap *altmap)\n> +\t\t\t\t      struct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \tunsigned long addr;\n>  \tunsigned long next;\n> diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c\n> index b6f3ae03ca9e..8f4aa5b32186 100644\n> --- a/arch/powerpc/mm/init_64.c\n> +++ b/arch/powerpc/mm/init_64.c\n> @@ -275,12 +275,12 @@ static int __meminit __vmemmap_populate(unsigned long start, unsigned long end,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\t\t       struct vmem_altmap *altmap)\n> +\t\t\t       struct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \n>  #ifdef CONFIG_PPC_BOOK3S_64\n>  \tif (radix_enabled())\n> -\t\treturn radix__vmemmap_populate(start, end, node, altmap);\n> +\t\treturn radix__vmemmap_populate(start, end, node, altmap, pgmap);\n>  #endif\n>  \n>  \treturn __vmemmap_populate(start, end, node, altmap);\n> diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c\n> index b0092fb842a3..a04ae9727cbe 100644\n> --- a/arch/riscv/mm/init.c\n> +++ b/arch/riscv/mm/init.c\n> @@ -1348,7 +1348,7 @@ int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\t\t       struct vmem_altmap *altmap)\n> +\t\t\t       struct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \tWARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));\n>  \n> @@ -1358,7 +1358,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n>  \t * memory hotplug, we are not able to update all the page tables with\n>  \t * the new PMDs.\n>  \t */\n> -\treturn vmemmap_populate_hugepages(start, end, node, altmap);\n> +\treturn vmemmap_populate_hugepages(start, end, node, altmap, pgmap);\n>  }\n>  #endif\n>  \n> diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c\n> index eeadff45e0e1..a7bf8d3d5601 100644\n> --- a/arch/s390/mm/vmem.c\n> +++ b/arch/s390/mm/vmem.c\n> @@ -506,7 +506,7 @@ static void vmem_remove_range(unsigned long start, unsigned long size)\n>   * Add a backed mem_map array to the virtual mem_map array.\n>   */\n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\t\t       struct vmem_altmap *altmap)\n> +\t\t\t       struct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \tint ret;\n>  \n> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c\n> index 367c269305e5..f870ca330f9e 100644\n> --- a/arch/sparc/mm/init_64.c\n> +++ b/arch/sparc/mm/init_64.c\n> @@ -2591,9 +2591,10 @@ int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long vstart, unsigned long vend,\n> -\t\t\t       int node, struct vmem_altmap *altmap)\n> +\t\t\t       int node, struct vmem_altmap *altmap,\n> +\t\t\t       struct dev_pagemap *pgmap)\n>  {\n> -\treturn vmemmap_populate_hugepages(vstart, vend, node, NULL);\n> +\treturn vmemmap_populate_hugepages(vstart, vend, node, NULL, pgmap);\n>  }\n>  #endif /* CONFIG_SPARSEMEM_VMEMMAP */\n>  \n> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c\n> index 77b889b71cf3..e18cc81a30b4 100644\n> --- a/arch/x86/mm/init_64.c\n> +++ b/arch/x86/mm/init_64.c\n> @@ -1557,7 +1557,7 @@ int __meminit vmemmap_check_pmd(pmd_t *pmd, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\tstruct vmem_altmap *altmap)\n> +\t\tstruct vmem_altmap *altmap, struct dev_pagemap *pgmap)\n>  {\n>  \tint err;\n>  \n> @@ -1565,15 +1565,15 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,\n>  \tVM_BUG_ON(!PAGE_ALIGNED(end));\n>  \n>  \tif (end - start < PAGES_PER_SECTION * sizeof(struct page))\n> -\t\terr = vmemmap_populate_basepages(start, end, node, NULL);\n> +\t\terr = vmemmap_populate_basepages(start, end, node, NULL, pgmap);\n>  \telse if (boot_cpu_has(X86_FEATURE_PSE))\n> -\t\terr = vmemmap_populate_hugepages(start, end, node, altmap);\n> +\t\terr = vmemmap_populate_hugepages(start, end, node, altmap, pgmap);\n>  \telse if (altmap) {\n>  \t\tpr_err_once(\"%s: no cpu support for altmap allocations\\n\",\n>  \t\t\t\t__func__);\n>  \t\terr = -ENOMEM;\n>  \t} else\n> -\t\terr = vmemmap_populate_basepages(start, end, node, NULL);\n> +\t\terr = vmemmap_populate_basepages(start, end, node, NULL, pgmap);\n>  \tif (!err)\n>  \t\tsync_global_pgds(start, end - 1);\n>  \treturn err;\n> diff --git a/include/linux/mm.h b/include/linux/mm.h\n> index 0b776907152e..bebc5f892f81 100644\n> --- a/include/linux/mm.h\n> +++ b/include/linux/mm.h\n> @@ -4877,11 +4877,13 @@ void vmemmap_set_pmd(pmd_t *pmd, void *p, int node,\n>  int vmemmap_check_pmd(pmd_t *pmd, int node,\n>  \t\t      unsigned long addr, unsigned long next);\n>  int vmemmap_populate_basepages(unsigned long start, unsigned long end,\n> -\t\t\t       int node, struct vmem_altmap *altmap);\n> +\t\t\t       int node, struct vmem_altmap *altmap,\n> +\t\t\t       struct dev_pagemap *pgmap);\n>  int vmemmap_populate_hugepages(unsigned long start, unsigned long end,\n> -\t\t\t       int node, struct vmem_altmap *altmap);\n> +\t\t\t       int node, struct vmem_altmap *altmap,\n> +\t\t\t       struct dev_pagemap *pgmap);\n>  int vmemmap_populate(unsigned long start, unsigned long end, int node,\n> -\t\tstruct vmem_altmap *altmap);\n> +\t\tstruct vmem_altmap *altmap, struct dev_pagemap *pgmap);\n>  int vmemmap_populate_hvo(unsigned long start, unsigned long end,\n>  \t\t\t unsigned int order, struct zone *zone,\n>  \t\t\t unsigned long headsize);\n> diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c\n> index 4a077d231d3a..50b7123f3bdd 100644\n> --- a/mm/hugetlb_vmemmap.c\n> +++ b/mm/hugetlb_vmemmap.c\n> @@ -829,7 +829,7 @@ void __init hugetlb_vmemmap_init_late(int nid)\n>  \t\t\t */\n>  \t\t\tlist_del(&m->list);\n>  \n> -\t\t\tvmemmap_populate(start, end, nid, NULL);\n> +\t\t\tvmemmap_populate(start, end, nid, NULL, NULL);\n>  \t\t\tnr_mmap = end - start;\n>  \t\t\tmemmap_boot_pages_add(DIV_ROUND_UP(nr_mmap, PAGE_SIZE));\n>  \n> @@ -845,7 +845,7 @@ void __init hugetlb_vmemmap_init_late(int nid)\n>  \t\tif (vmemmap_populate_hvo(start, end, huge_page_order(h), zone,\n>  \t\t\t\t\t HUGETLB_VMEMMAP_RESERVE_SIZE) < 0) {\n>  \t\t\t/* Fallback if HVO population fails */\n> -\t\t\tvmemmap_populate(start, end, nid, NULL);\n> +\t\t\tvmemmap_populate(start, end, nid, NULL, NULL);\n>  \t\t\tnr_mmap = end - start;\n>  \t\t} else {\n>  \t\t\tm->flags |= HUGE_BOOTMEM_ZONES_VALID;\n> diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c\n> index 05e3e2b94e32..f5245647afee 100644\n> --- a/mm/sparse-vmemmap.c\n> +++ b/mm/sparse-vmemmap.c\n> @@ -297,7 +297,8 @@ static int __meminit vmemmap_populate_range(unsigned long start,\n>  }\n>  \n>  int __meminit vmemmap_populate_basepages(unsigned long start, unsigned long end,\n> -\t\t\t\t\t int node, struct vmem_altmap *altmap)\n> +\t\t\t\t\t int node, struct vmem_altmap *altmap,\n> +\t\t\t\t\t struct dev_pagemap *pgmap)\n>  {\n>  \treturn vmemmap_populate_range(start, end, node, altmap, -1, 0);\n>  }\n> @@ -400,7 +401,8 @@ int __weak __meminit vmemmap_check_pmd(pmd_t *pmd, int node,\n>  }\n>  \n>  int __meminit vmemmap_populate_hugepages(unsigned long start, unsigned long end,\n> -\t\t\t\t\t int node, struct vmem_altmap *altmap)\n> +\t\t\t\t\t int node, struct vmem_altmap *altmap,\n> +\t\t\t\t\t struct dev_pagemap *pgmap)\n>  {\n>  \tunsigned long addr;\n>  \tunsigned long next;\n> @@ -445,7 +447,7 @@ int __meminit vmemmap_populate_hugepages(unsigned long start, unsigned long end,\n>  \t\t\t}\n>  \t\t} else if (vmemmap_check_pmd(pmd, node, addr, next))\n>  \t\t\tcontinue;\n> -\t\tif (vmemmap_populate_basepages(addr, next, node, altmap))\n> +\t\tif (vmemmap_populate_basepages(addr, next, node, altmap, pgmap))\n>  \t\t\treturn -ENOMEM;\n>  \t}\n>  \treturn 0;\n> @@ -559,7 +561,7 @@ struct page * __meminit __populate_section_memmap(unsigned long pfn,\n>  \tif (vmemmap_can_optimize(altmap, pgmap))\n>  \t\tr = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap);\n>  \telse\n> -\t\tr = vmemmap_populate(start, end, nid, altmap);\n> +\t\tr = vmemmap_populate(start, end, nid, altmap, pgmap);\n>  \n>  \tif (r < 0)\n>  \t\treturn NULL;","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19774-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256\n header.s=corp-2025-04-25 header.b=ACvCBR5D;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com\n header.b=KHAAPvyl;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19774-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=pass smtp.remote-ip=205.220.177.32 arc.chain=microsoft.com","lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=oracle.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256\n header.s=corp-2025-04-25 header.b=ACvCBR5D;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com\n header.b=KHAAPvyl;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=oracle.com\n (client-ip=205.220.177.32; helo=mx0b-00069f02.pphosted.com;\n envelope-from=joao.m.martins@oracle.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwg7R19y5z1yHM\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 22:14:42 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fwg7P42gPz2yvr;\n\tWed, 15 Apr 2026 22:14:41 +1000 (AEST)","from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com\n [205.220.177.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fwg7L51Wpz2yvY\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 15 Apr 2026 22:14:35 +1000 (AEST)","from pps.filterd (m0246630.ppops.net [127.0.0.1])\n\tby mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63F9BcYm888376;\n\tWed, 15 Apr 2026 12:13:56 GMT","from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com\n (iadpaimrmta02.appoci.oracle.com [147.154.18.20])\n\tby mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4dh85jn31q-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tWed, 15 Apr 2026 12:13:56 +0000 (GMT)","from pps.filterd\n (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])\n\tby iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7)\n with ESMTP id 63FC4Q4w033577;\n\tWed, 15 Apr 2026 12:13:55 GMT","from dm5pr21cu001.outbound.protection.outlook.com\n (mail-centralusazon11011012.outbound.protection.outlook.com [52.101.62.12])\n\tby iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id\n 4dh7np3e49-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tWed, 15 Apr 2026 12:13:55 +0000 (GMT)","from PH3PPFE6F9E2E1D.namprd10.prod.outlook.com\n (2603:10b6:518:1::7d4) by SA2PR10MB4458.namprd10.prod.outlook.com\n (2603:10b6:806:f8::24) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Wed, 15 Apr\n 2026 12:13:50 +0000","from PH3PPFE6F9E2E1D.namprd10.prod.outlook.com\n ([fe80::c9cf:290a:5596:dc4a]) by PH3PPFE6F9E2E1D.namprd10.prod.outlook.com\n ([fe80::c9cf:290a:5596:dc4a%7]) with mapi id 15.20.9769.043; Wed, 15 Apr 2026\n 12:13:50 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776255281;\n\tcv=pass;\n b=krWdyDJe8hQov5oSpRaOqoaKxJ8eFU/irhmu4O8N1aA0P/f7zle7zz5x3wH5znP4sJ4WsA7TGwEMS/fdyAND4gBeKTnNZkz1eDIFZFtSnQ9JDO4UfVsqkZBz6w2jFB9jHJgE/OhuIfq/wh83+umtTSoaFPOxcVUiO2wbb3YsBDaa1uwH4ACBUchabYVZEsqYBiaQpwsKyoyIeqDfFkLPzozgE0kO/UYnUf0PQ9bhWdujYV3hMUt7zmGVCafw7lvVcPTA7kMmkNxHtkgcmM4HJrjOZD4gc7CwPKpqTUvyNf0HBghQ5ZSaEqGh2Qg4GI/pqIbPANzHfccf02X7T4k6MA==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=q1qUNWxqCmotlXYjQdM8CsMelf4Z8PnvnSpOcwrIgUwZ6oSOubB2eWG/EuZtmfXPAyWdBypba+kF8cl0QLFuGMOPzH/QmhUV7szKVWzwQcOGM3/a7g8EuFIXl1zX/JDEeMzXWSGGZeEZwAgckNXAv7+8cNiFe8kegx9ToyVgTEKSAtN0g8T9bWnmz3dEZRgXWp0rr+LGFOy2CWA+x/+2qAtQVfhztYyY4Tz0p2DBcHr6GlYitCZmk34MyXr1Yrus1YoRirvlxSj9hCjFSfzEDUTCVpPN3zUzykSFv4AjxlERx3Bb6mOjSBmzqhGWjrahrLfogWP6hRsXXzGJvnq7Lw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776255281; c=relaxed/relaxed;\n\tbh=Kg4YbcR8rSvpxJma9KbJQykrYHPC66eBtz3fWRXH6WU=;\n\th=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=doj4SV7dGAKg9buGRRavHo9i9Woeljk7Nljg1M5kUWJ2UbWQWNdu7NQPv/dVbLd5cEPSQu6VuoZN2U0ryPqjAxzy5Ef5RBM48PqqmfCI3U1HssXyg1WHPtha9fL3+fdff+zNwglr+rgogbr0TwjPb5NtplIoH3IoXwCXp7CiYujgg183XwheSuZPk6AoxvY2HQ54Utf1HM4ZaMBVU9zS1yUDYrBB3KIifzSVDOxxAGpeFAkZo097UmZFfb1loSYEb21lLi01Pu1XYTqHwVmLSoqz6r+lTp3j7HXhusc58/yWSO93eIPcumoJ8I34ZWloxvrDzoQmteqfGwJewnrOUQ==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=Kg4YbcR8rSvpxJma9KbJQykrYHPC66eBtz3fWRXH6WU=;\n b=YTrl+HdkFQCV/ND1fKslmmHhXj4VYMMMPVlCvsXk6/XhYu4DiOB5qV1hz2G0LL6AFOoHJiNPasNpC/TWzeptV54Kqo1/s5KE31G5VQRtkhHKNKRkbjwoiKwb9olteXwOMHemlx+f0uzaroTaK5H5DYbfKaK21+vHodpV9vyGj04O+wThlOogiQgQVXU/OiP8cxpaXdYblmtKuJAdsEaNJrUhrZKTioupHKzobRUkulYcfkMzZJ80gM4jpkr8PGpZ77zmbMO6n5Z4NaZx9xqIGZrGo2KoDSfRXMXck5cORCmztM/8ykN6UmTpO06OD0orx+g213LcgCLyPth/XthNHg=="],"ARC-Authentication-Results":["i=2; lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=oracle.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256\n header.s=corp-2025-04-25 header.b=ACvCBR5D; dkim=pass (1024-bit key;\n unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com\n header.b=KHAAPvyl; dkim-atps=neutral; spf=pass (client-ip=205.220.177.32;\n helo=mx0b-00069f02.pphosted.com; envelope-from=joao.m.martins@oracle.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=oracle.com","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;\n dkim=pass header.d=oracle.com; arc=none"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=\n\tcorp-2025-04-25; bh=Kg4YbcR8rSvpxJma9KbJQykrYHPC66eBtz3fWRXH6WU=; b=\n\tACvCBR5DJzwC6CVxtY+pzRSuofj4qh281fDIvIKeHpziD0MZtXpxffXNQ7Z/fMiF\n\tkZGnzB9eJNhLWAOmy83DfM2WC4wvVHQIIxcuKMB12mRQSmoU01V6Sm5tivqiGd6r\n\tGmqrccd8PESbnOUHBWvCDRB9+E3hjpOAyawwCuyBN8tKTUimRM2H8tTFFFpT4Wly\n\t6Z7S4g8gcpuEhzn6Z4ql+KMJkBtKnnYGWQzqcp1OHOj43+zOcdCQ8wIZFIshAuJE\n\tSAwidRWkxsoi985uXRNiI8H1VwUCl/CC45Z3tGWVUIqhT8USRDGJuKhZhbpTzAS0\n\t3iE9NJwUC8uzEs4MtlAOaw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=Kg4YbcR8rSvpxJma9KbJQykrYHPC66eBtz3fWRXH6WU=;\n b=KHAAPvylYCOG39Jzq7wkpJsC1GFYXNuTs6SNtEuC8QUwQTTtN4uPWDm90isNQviyLkgIGhLEiazFGidlcM2iU8QNpDZ2vVXkOminmZQ67Gh4pyjzDDCJRGChH+O12oY77CXY9nqzwF1aJZqn6dLF3egUeA6LjRxqEp/JaM7LGoE="],"Message-ID":"<9ceede7b-45d3-4d15-b8ce-f0b04bbb18dd@oracle.com>","Date":"Wed, 15 Apr 2026 13:13:40 +0100","Subject":"Re: [PATCH v2 4/6] mm/sparse-vmemmap: Pass @pgmap argument to arch\n vmemmap_populate()","To":"Muchun Song <songmuchun@bytedance.com>","Cc":"Lorenzo Stoakes <ljs@kernel.org>,\n        \"Liam R . Howlett\" <Liam.Howlett@oracle.com>,\n        Vlastimil Babka <vbabka@kernel.org>, Mike Rapoport <rppt@kernel.org>,\n        Suren Baghdasaryan <surenb@google.com>,\n Michal Hocko <mhocko@suse.com>,\n        Nicholas Piggin <npiggin@gmail.com>,\n        Christophe Leroy <chleroy@kernel.org>, aneesh.kumar@linux.ibm.com,\n        linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org,\n        linux-kernel@vger.kernel.org, harry.yoo@oracle.com,\n        Andrew Morton <akpm@linux-foundation.org>,\n        David Hildenbrand <david@kernel.org>,\n        Muchun Song <muchun.song@linux.dev>,\n        Oscar Salvador <osalvador@suse.de>,\n        Michael Ellerman <mpe@ellerman.id.au>,\n        Madhavan Srinivasan <maddy@linux.ibm.com>","References":"<20260415111412.1003526-1-songmuchun@bytedance.com>\n <20260415111412.1003526-5-songmuchun@bytedance.com>","Content-Language":"en-US","From":"Joao Martins <joao.m.martins@oracle.com>","In-Reply-To":"<20260415111412.1003526-5-songmuchun@bytedance.com>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM\n (2603:10a6:d10:1d::14) To PH3PPFE6F9E2E1D.namprd10.prod.outlook.com\n (2603:10b6:518:1::7d4)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"PH3PPFE6F9E2E1D:EE_|SA2PR10MB4458:EE_","X-MS-Office365-Filtering-Correlation-Id":"077a604e-635f-4771-726f-08de9ae873cc","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|376014|7416014|366016|1800799024|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tAJ45PBOqLLGTkFiUNrqTiD36jV6+fiS2y920mm7ZsXirS2prOcSL246a6KrmF2+aK2wTJx2OuvhCN8Ixq5HAsscviL2KWeLh1b3Fh4unmns+uQ4wRsaIfiOhH1RVOk6/8kumsiLH7vZYk98TXq0NukmEXNvTpDOGvWX7yZoddCoFbaJIY98Kx29FZaB+d+4TCs6QOj2vwTG3vVN2MMGQPf0r/jIvagokwSUPzj3L5AB6g2iS+Tb74wHApHAT/FM+XnE/xVHk07JFHvRT2553s0+omYnygK3+BqF0JMAzhDng2mHDuodDCBECSJ0/Ack6zrUF3ZyUe1oDVqOb17DF0HS3ksPWX0H8Gvy5TjGTdWU+YjXaDm5jeZBzw6Bj0MtToEtDo28IhnrvGfvt2HmJDzcHhE1B8zHOFgnQBNmJ5V7pgKu1TRmebjqmcPhzh6IAQXV3fdgMYqvknY1Jd+3JU94fPzfYb5A5aqoK+AM5cz78qa2lLbhpGpT5nce0eU0eBbhEmiyD+w82qiKcQbzyr9eBAUl6mEJdtWSh1eT65hUg/3DdYwjHedgOxekYldEzGEaFoP0CQIASjo3g9g6mm647w8P6f/RWZ2AjcQubzgGkqm2fbo6/TVqnHC4qYJeRF8oL25WGOtVjdHArm38Aj5BXLrmmqTh+YBddRo5I7uWKI83MNmQMV+5dhWvyRpmsr1pf/DrQy78MHSmymtvFV1PaLnRnZTru0hR4OtcXx84=","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH3PPFE6F9E2E1D.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?OSVZcvghyMEz18thfUBlkrqsMGF/?=\n\t=?utf-8?q?R19rB5hrbNNZT7VJ00CeIA9SGDDPhpUw7gtwFUkl/iyS4oBqzQiexc8S/MtglrfnY?=\n\t=?utf-8?q?z0Dk9bb56ADJOWZB06sun39J4SpRv6VLvWeMFZT1IQ6TfvVD4ZNO413nKVBN2yHG4?=\n\t=?utf-8?q?+RpPz8blyvK463DLe617r7hyjeqwfF9jtMKw4lj1c1W+L1QYD1bchuDrqb04fI39I?=\n\t=?utf-8?q?qP/0eaclRErhOzL0AVs6bpPQiBcYDYe5qzQGa5n5/pY3NfAfyqoSLbGxJhT9V05hw?=\n\t=?utf-8?q?lO1t7CPckqcdbW0SPXtDoeehocS1BXVHEAutabI/+sh7S/m3e3vlpqfICgDK+t1ny?=\n\t=?utf-8?q?Swbx9TzmskjIUjaopErjBDNWLC/zCD9qOQ0lMfuWz0hqY3pz8oNSJN7Lrt8Jp893D?=\n\t=?utf-8?q?dOhx0COjE8AnCxD8PpNAbchi48gvCVeQJrvzbh6meawyaNQgnx4+h+vpeWCSFHZvq?=\n\t=?utf-8?q?6B914UcHbzq9I9QoEoDIhpUyoRBVxI48LwrNNZv+yVXkIkmPHLpq0VERLZ9mIvNu3?=\n\t=?utf-8?q?trEqDAc2cm7InigWaeWaCDF22QfCMxtVta0oeLKneurVygp8CpXZge7j4VxDqUoCL?=\n\t=?utf-8?q?UnYhq402Ml6SAwsO2sjeKb8TSLL3JNdPCzhtOVBMaXmxyszT0aMjGJu7M+09emEHE?=\n\t=?utf-8?q?6AQ5LLxj0R6ViEClBnL3RmHnWXV430xm/3gexs4qt6AvLmBvhJiZZ8V9vlwwODmKE?=\n\t=?utf-8?q?1Ey+PDJh82IHXQcWKoIxE8vGN+Q1ckm7OWcELlI24mtcphkloPuviYn3HIifjRaV9?=\n\t=?utf-8?q?x+Dv7CeYZeR3/BQO15c2wRu5pRdQ7pO1x4bMPG+TjAXTWlDtqRsxOujIc0oXNaUxK?=\n\t=?utf-8?q?ZmTyDYU9hm7TR5q4EGhYbqEeFFoAyxt8v36m8Tfd1wAMhKEP1JH7TGukSO9Vns8mI?=\n\t=?utf-8?q?jDoB9QNFNvWqjCd5Gp8V9je+jw42WuuHLTcnTlHutyuQfsAmA7jY2OPrLOHIETkHX?=\n\t=?utf-8?q?DAEpWBfY0dt7Xdrt3erisszPs43UeUYgdpACfdTcW9wekHh+YWC0eZDdZf703UVuj?=\n\t=?utf-8?q?ca9r1dWR/oM7PU7OcxfzsAIcQwqp7dRtHYZYRkociAXNGMlW3L7RHS79uk5SjpMWe?=\n\t=?utf-8?q?cEqav8HFpj4OuI5XM8d8e1VLuMQfw2bSoOC3JNyELRKIweh3kdlvdiZvYJyoRkWwR?=\n\t=?utf-8?q?Ji0KfF607uHbW4BcmyXZ1xoa2ll0euRCV5k+UHs9dsddpYhyr8Gll7ibs/0lrVTH5?=\n\t=?utf-8?q?fIKdD4K/lOSc5tclrmehYfRiqNHIyhJNM9yqXA6JcOGUK15NcfuEJR4auJX7px20W?=\n\t=?utf-8?q?CB9ViWQwcs9Tv3eodL0Q5q9iatBiiCb+1QnqP8a8LwotEpe2CAR+lJf90FJhmTLJ6?=\n\t=?utf-8?q?Wc+iWzPwGA9NpA9LDSGZx0rqHs9ot/Yc67aEVQZKFLQxw4ss9+YwmqZ3zdh/bM4HN?=\n\t=?utf-8?q?NhhQqMaFlcQSSeUj7hl+O/WrEo6wyHnXm7uhINz18/nr3pMy5CR48hemi+lMukqFq?=\n\t=?utf-8?q?vWchMcdnR0/Zl0+eaR+zeSzquQdhHYjYLSN1TcghRms37hBcbasGByxAU71JWx/SR?=\n\t=?utf-8?q?4LsJ51+uyAnm78j8isPZxwS3Z0lHgVjA1xNQaasod7p9dSoVZ83VsHY9l1eEuGe2I?=\n\t=?utf-8?q?eIcLpGkxCh/G0FFgdypFVtFadnVQ3W24MG1xLfKNRRF1hA3BtfzXIQWdfINo0pkwk?=\n\t=?utf-8?q?oPkyxUhuGVOf5dDShdY48tUhn4qpmE+E+c0DdPkxQdQ60TpMQ65fI=3D?=","X-Exchange-RoutingPolicyChecked":"\n\tu9drPR2kalIK5OtqeQPFxpUfGRNmDWeBnEzrx/7bBdAXE9sVJUYO9CxN512yMnVnGCIf/dkyAZVCQHyN+i+eXZQbWM2AebnhCgAvlb5xVoWoXiF9E8OYF44y+rnuFkKI4uEjggM3fOrrIcVLZR4BWDak9e4Ha2zjp1GcB95w/asmz0RVOtzO66T2mgbQZLH6AUugTAkHQgQBZemnrh7kMy+31B1VwFXuQ7qNu/hSSWyhsfPgMqV3WIjkYIhuG6+GqyhhMbFocWaqupMaqffR0t4Re4lH9hb1fttZT+y6nbh3YQF4yB/t9lKFpJ9Uy0HbsLsj0TPH16g76CxgGmFEOg==","X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0":"\n\t8OuH3mE2e/qIp3rlIWSYIMfnpdLWe6gfwzBwy0LNxlm72EK5E81i6W+5UdTNc5G3R1RVF2D/fVSnliNKKxoMLkEgj+nlsIu1Ep5vjsmCjMkg+Wx0PjtfNC7tlD5VSMRta3JvuRCr6hKPveBRxI+E2pMADwJaUtHi1sHNBP9h7fsFIOr+Tt+pm1CAzyRQAXPF0Z09gBL2t/rlxBFISlLPSTavf5Ld2qGSXgZpHf0+kmCArTIo5oacvOX0/veobhxX4ssDXe6EdUj44p3H2AtJtvw5pFQLILeuiDQ1petVYZ7UP5AtwJKwYYgiDqSQFDaFJkvgJ81cAA5ZtsUgc/jDfxBdP59Z+ycr+efMAwRD/xHVWKhSmlpb3iTugnthcZDE9x5UonjYhGoCNVJyCzIF+1B7dhLvIkOBrOd8d9LaJszrcTUaIMyQMr2XcxLj7RScwDK+sAbh5N25IvcgCNlif6QeHQoCx88LOWEe7Cp2/EbraV20J8kQ7c6mHzCu0YtofvVaJ2tv8XV8EWjSkSV3rwOLtbhmzjAusp99vg/7QqL+7CMb1eGygg16+dFM4MpUKGIJfmKhuhHpcO7cRfDNzedEa8heLqQCYR+rY+ojxZI=","X-OriginatorOrg":"oracle.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 077a604e-635f-4771-726f-08de9ae873cc","X-MS-Exchange-CrossTenant-AuthSource":"\n PH3PPFE6F9E2E1D.namprd10.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"15 Apr 2026 12:13:50.0427\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"4e2c6054-71cb-48f1-bd6c-3a9705aca71b","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n 4zW2UP6+mHvohWHWLHcMMWBntjAgP2MuT3DbY6sQzBawEBvJ6WUEOzuAFcMPFV5tkVIz/lyZf/LtUZSJNpXOvFPSyP2dfnd8+SxUARPiFKQ=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA2PR10MB4458","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-14_04,2026-04-13_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=notspam policy=default score=0\n lowpriorityscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0\n malwarescore=0 suspectscore=0 mlxscore=0 adultscore=0 classifier=spam\n adjust=0 reason=mlx scancount=1 engine=8.19.0-2604070000\n definitions=main-2604150112","X-Proofpoint-ORIG-GUID":"PuIXrKetPaRLGE27OwtwQG_FIgDGYoSa","X-Proofpoint-GUID":"PuIXrKetPaRLGE27OwtwQG_FIgDGYoSa","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE1MDExMyBTYWx0ZWRfX748K80HLRHJz\n M8ybRys8xhGuJSF7Cn/2QiuZnHW9D48gA8R2Sz/REGrNBhdYXDZCgjO2RlO+ONhfJeMPokbrj+r\n AS95vO+TuQf0Kg2QLsSdw+Mps0bp3OyE0BPYSmAP8qglKjeY9KPXsf38opgNpz1awKVM7KrsnXs\n M5TlBsR6OzkJgUXXT91qXf4IDl9Ch/7BUrbPgJbd41xCI6PMxF66JjpvZ1hYiS82hy75479VeWk\n D2Ib2G2az19nuIlKjIA0Y7wIMvVfI/GcLpC02U04sKsDHoOI2UUFuPj4ieQ2B9SeIluCzsElYiD\n T+UCFqSmYJGctZwqlx1J88SwfHiijJZR3NgpEBF+T3zNuII+ISQncgYGnyKkXOS2kkf4PUNjlmO\n fPmHCuYYey2DcX7ybFAyjwT6cxbZrj9/J6NIqr9Msh7oOfRGjfLTGFDVirYe0Gi9DBpkB9zPjbi\n gCcaFNTMViRGUn+awWTY1DU9YKEkIF6jQl1HuG4w=","X-Authority-Analysis":"v=2.4 cv=Co+PtH4D c=1 sm=1 tr=0 ts=69df8104 b=1 cx=c_pps\n a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17\n a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19\n a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n a=A5OVakUREuEA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=jiCTI4zE5U7BLdzWsZGv:22 a=x4eqshVgHu-cdnggieHk:22 a=VwQbUJbxAAAA:8\n a=yPCof4ZbAAAA:8 a=968KyxNXAAAA:8 a=44hX-j3RfSQrQtt0eo4A:9 a=QEXdDO2ut3YA:10\n cc=ntf awl=host:13825","X-Spam-Status":"No, score=-0.9 required=3.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,\n\tRCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3677631,"web_url":"http://patchwork.ozlabs.org/comment/3677631/","msgid":"<FE14CDAA-32AC-48C3-AB9E-31F6B47843AB@linux.dev>","date":"2026-04-15T12:21:45","subject":"Re: [PATCH v2 4/6] mm/sparse-vmemmap: Pass @pgmap argument to arch\n vmemmap_populate()","submitter":{"id":84878,"url":"http://patchwork.ozlabs.org/api/people/84878/","name":"Muchun Song","email":"muchun.song@linux.dev"},"content":"> On Apr 15, 2026, at 20:13, Joao Martins <joao.m.martins@oracle.com> wrote:\n> \n> On 15/04/2026 12:14, Muchun Song wrote:\n>> Add the struct dev_pagemap pointer as a parameter to the architecture\n>> specific vmemmap_populate(), vmemmap_populate_hugepages() and\n>> vmemmap_populate_basepages() functions.\n>> \n>> Currently, the vmemmap optimization for DAX is handled mostly in an\n>> architecture-agnostic way via vmemmap_populate_compound_pages().\n>> However, this approach skips crucial architecture-specific initialization\n>> steps. For example, the x86 path must call sync_global_pgds() after\n>> populating the vmemmap, which is currently being bypassed.\n>> \n> \n> Harry's series fixed in a different way (for x86):\n> \n> https://lore.kernel.org/linux-mm/20250818020206.4517-1-harry.yoo@oracle.com/#t\n\nThanks for your information. It indeed fixes the page table sync issue.\n\nI'll drop this one int the next version.\n\nThanks,\nMuhcun","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19775-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=UeFP1PtS;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19775-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=95.215.58.172","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.dev","lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=UeFP1PtS;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.dev\n (client-ip=95.215.58.172; helo=out-172.mta1.migadu.com;\n envelope-from=muchun.song@linux.dev; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwgJx2J1wz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 22:22:57 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fwgJw5x7Qz2yvr;\n\tWed, 15 Apr 2026 22:22:56 +1000 (AEST)","from out-172.mta1.migadu.com (out-172.mta1.migadu.com\n [95.215.58.172])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fwgJt0Qw5z2yvY\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 15 Apr 2026 22:22:53 +1000 (AEST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776255776;\n\tcv=none;\n b=TCtZH/p9x5pNP7QUF5c/0c3/pO5AUkxMgjd2qqLQNF2Y/xBt8XuIDXRIFizSMCrA49KtM8zvNkuhj4jmhscb7DCIEewEfE2YqbtADfic7XKcTjbF6Tbgc/xX8Mf4BCWh8p8qI58LxTLgq4x5bGswRi458gB/PigPA6nhsJb3mllZbR+NN8VsvXhCMKSE/+9gLYEs3450cZ885ceseKIDOzIz6NI1KM7BMh/pNC2/2LdNwUAv+fWaEnWx6IpxQnjLZSPWFDChqija8f5QZtrjZBBqxakjfu2dMfj4qKPVM1mk7ql9uuu4fjMuiP3QeEQrszJ7h3sA4ZfxeeEWHXT0Dg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776255776; c=relaxed/relaxed;\n\tbh=VCECXRZt1tRWhYO2f/EdS9u/dfLhHAlOtvQp6eMeCao=;\n\th=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:\n\t Message-Id:References:To;\n b=Gc/eaNc/Eg/FAwH2uNw4MZfZqmZYSoZ41lJcHPaWxFyIUFAFcLiklxhoZL7H72mV/IvXP7ODAjaj/6q1lfbYh8g42OR1Cp4G4MdTfrZpojvNp2ktSiJtozmHLWcLKeHdNT/yH03rqvvZOfcc4rczOxEAQ0YyncnQIRISKa/JyjUsdtODajSq7gOJ2xQruDHQmUzi/uWvNWuP1Z4t1/aXIK+QAB0z7Vxn/iEOtdZNvIuBylqTz4bQ9ZT8Gy1Um8EEzn4X2MklHuM2AkhMXxX3yxDLWByztqRNKfP2if6NFxOb3w7/iRLKb68LSPARlt2y9B6egvL3D6bB+y+l4sVN/A==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.dev; dkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=UeFP1PtS; dkim-atps=neutral;\n spf=pass (client-ip=95.215.58.172; helo=out-172.mta1.migadu.com;\n envelope-from=muchun.song@linux.dev;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.dev","Content-Type":"text/plain;\n\tcharset=us-ascii","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;\n\tt=1776255753;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\t to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=VCECXRZt1tRWhYO2f/EdS9u/dfLhHAlOtvQp6eMeCao=;\n\tb=UeFP1PtSF6ipgLoxcNRkvHhJojxdRSDvpJboXiwDHiGFdWOJcrdUum8kCjr47GDwUTIjEL\n\tOxib5nsSYCh6uASGbSDMCnR39l8VbiQwCV0shP4KLbjXNuik3D4XhtjFzThJ2YelY8PtYM\n\tFxxwt17HNWkYfy7qwRomETUmFDVYQds=","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","Mime-Version":"1.0 (Mac OS X Mail 16.0 \\(3864.500.181\\))","Subject":"Re: [PATCH v2 4/6] mm/sparse-vmemmap: Pass @pgmap argument to arch\n vmemmap_populate()","X-Report-Abuse":"Please report any abuse attempt to abuse@migadu.com and\n include these headers.","From":"Muchun Song <muchun.song@linux.dev>","In-Reply-To":"<9ceede7b-45d3-4d15-b8ce-f0b04bbb18dd@oracle.com>","Date":"Wed, 15 Apr 2026 20:21:45 +0800","Cc":"Muchun Song <songmuchun@bytedance.com>,\n Lorenzo Stoakes <ljs@kernel.org>,\n \"Liam R . Howlett\" <Liam.Howlett@oracle.com>,\n Vlastimil Babka <vbabka@kernel.org>,\n Mike Rapoport <rppt@kernel.org>,\n Suren Baghdasaryan <surenb@google.com>,\n Michal Hocko <mhocko@suse.com>,\n Nicholas Piggin <npiggin@gmail.com>,\n Christophe Leroy <chleroy@kernel.org>,\n aneesh.kumar@linux.ibm.com,\n linux-mm@kvack.org,\n linuxppc-dev@lists.ozlabs.org,\n linux-kernel@vger.kernel.org,\n harry.yoo@oracle.com,\n Andrew Morton <akpm@linux-foundation.org>,\n David Hildenbrand <david@kernel.org>,\n Oscar Salvador <osalvador@suse.de>,\n Michael Ellerman <mpe@ellerman.id.au>,\n Madhavan Srinivasan <maddy@linux.ibm.com>","Content-Transfer-Encoding":"quoted-printable","Message-Id":"<FE14CDAA-32AC-48C3-AB9E-31F6B47843AB@linux.dev>","References":"<20260415111412.1003526-1-songmuchun@bytedance.com>\n <20260415111412.1003526-5-songmuchun@bytedance.com>\n <9ceede7b-45d3-4d15-b8ce-f0b04bbb18dd@oracle.com>","To":"Joao Martins <joao.m.martins@oracle.com>","X-Migadu-Flow":"FLOW_OUT","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]