{"id":2223477,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2223477/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20260415111412.1003526-1-songmuchun@bytedance.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.2/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20260415111412.1003526-1-songmuchun@bytedance.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260415111412.1003526-1-songmuchun@bytedance.com/","date":"2026-04-15T11:14:06","name":"[v2,0/6] mm: Fix vmemmap optimization accounting and initialization","submitter":{"id":78930,"url":"http://patchwork.ozlabs.org/api/1.2/people/78930/?format=json","name":"Muchun Song","email":"songmuchun@bytedance.com"},"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20260415111412.1003526-1-songmuchun@bytedance.com/mbox/","series":[{"id":499970,"url":"http://patchwork.ozlabs.org/api/1.2/series/499970/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=499970","date":"2026-04-15T11:14:06","name":"mm: Fix vmemmap optimization accounting and initialization","version":2,"mbox":"http://patchwork.ozlabs.org/series/499970/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2223477/comments/","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19763-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=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=Rvlt1HxE;\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-19763-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::62d\"","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=bytedance.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=Rvlt1HxE;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=bytedance.com\n (client-ip=2607:f8b0:4864:20::62d; helo=mail-pl1-x62d.google.com;\n envelope-from=songmuchun@bytedance.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 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwdnx3mF0z1yHM\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 21:14:28 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fwdnv6pHtz2yvY;\n\tWed, 15 Apr 2026 21:14:27 +1000 (AEST)","from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com\n [IPv6:2607:f8b0:4864:20::62d])\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 4fwdnr4rvqz2yvG\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 15 Apr 2026 21:14:22 +1000 (AEST)","by mail-pl1-x62d.google.com with SMTP id\n d9443c01a7336-2a7a9b8ed69so50753145ad.2\n        for <linuxppc-dev@lists.ozlabs.org>;\n Wed, 15 Apr 2026 04:14:22 -0700 (PDT)","from n232-176-004.byted.org ([36.110.163.96])\n        by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b477fd3724sm19509485ad.0.2026.04.15.04.14.15\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Wed, 15 Apr 2026 04:14:19 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776251667;\n\tcv=none;\n b=Y3mxKKeaUtX/w5mPrqvPpScu6vf3Z5xmYgGFYCLZSLntmws4N63Gv2lcK+eyWZvHS2C+pmy5FET2YretGzXcqWA+3YhaC+GPj6qhaRx/OCHWMuI1opQ9WUBzyhO4ipq7ljPAxHTHymcDEaKvXDU3/XtgZgHCJwW3b4YSU+akWUmNtWeZC0L7zATqne+gZIQRsnmwh6R2By7eZfNPWlyg4dnGDvmavszdUFPP0yXLAy7YHpfJZsym5k+ynzK35KdU9PlrnXVBrt6KQy8EclzvgrWwXr+D91UJ3HMVGB+ymYiDoAAGb6YiMYXfQoAGzjkFD2hKZ3F1jXW0cfog9cUh+Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776251667; c=relaxed/relaxed;\n\tbh=Hg37UlEcW10cmklaT0P772ahobtvEU06guOHNmMT8sw=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=AUQUJB7WMCYljCwL+Z66tppCoudxo7B0XxEczn8iNztK+wwPL2xhnLDwJxmRjIR1/Fr+VAJ23ZXl4PFNXy7OcSoKVv9+kCOEyogPRHWKG7YQhXjwZAMvZD4oGM/Qy65gKOGIgFDFNeqmcGpXhfsTztrMydcbNreKxAesGq/cJhzg21f4J+yJqVmy2aTFamtjWUHe6OkTbBYFPq1Z7gda6KQJ2/p2vfibutPjYhDlCVgh2lxQCHBEuFkpoRM9bFI/La1DTyarPf+bpWisFpVXWOMsteXQJfm7Vwq/qHvmOEvydhhJpQSkzuTGXATZWGsCvJzkXR5MG/qxxNqmmtS1Hg==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=bytedance.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=bytedance.com header.i=@bytedance.com\n header.a=rsa-sha256 header.s=google header.b=Rvlt1HxE; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::62d; helo=mail-pl1-x62d.google.com;\n envelope-from=songmuchun@bytedance.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=bytedance.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=bytedance.com; s=google; t=1776251661; x=1776856461;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=Hg37UlEcW10cmklaT0P772ahobtvEU06guOHNmMT8sw=;\n        b=Rvlt1HxE3PYOD7/KX2QcWtebQxEYp+9c0G6C/rnmDVeyHZz2LWx6Ttdse7EmGcqX3V\n         lSuLU7ASQnvPEz7D9eWZY//2xUipZQ1vuQlbGXo3MaQKHKYdUaQT5WwXF6RApvlT/B3Q\n         2xkAorXlAMY8ErKWm5CHVIIIYq4tWDGA4VToZVa38+/bhl3VUFWI5PtfnSL683a99UYh\n         JiSDA2Pcwyv3Lpt6HdbhSDKCrFXXTzBQX34po/e+Bfehu2mO/nbV11/8S0nu9OqoN4XB\n         jACHad2NLGRcHbr7IQnBfGNODCtMTax5TtRFJ+uue787QIhJRlzKSZqfzCtKu0p3dw28\n         mnnQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776251661; x=1776856461;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=Hg37UlEcW10cmklaT0P772ahobtvEU06guOHNmMT8sw=;\n        b=Ci27npChfu7TxD/DtY955xhWLc61Pb7a7dXyb9fRq7tGocE6w2jntAhbBvRNGdyFt3\n         KVVII15Tv45VfqZmncfy5gVTxq+JBL4YlLgr3jO41+YuD0vl5JtTda0MYmdVxV/dsW78\n         wGh7wty53NN78YiyP7xDKPx88/0aKgiTp6nvel24A0Df3dharzXxa4R2+K1UyrW/IkSN\n         6K7qcGHb2jPU/RcNWCuoO4k5kcBen9/lERDmIHtscZfExCZw1uk5fTsgHeUPLGbdGpAs\n         8Meem6Mo07UePKEmpvZYKnv2VHVyIK/P1dFlID64sMfmdopxxF9WeVWib7rvhTinxnC7\n         KMbw==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+6lYGoF/OPTNccQqxRQ5s2mUHnhcVVZ8whxVSz4gKuwP6duoQkPcWg355MzVuDF8NntybsYEa2C97cqlE=@lists.ozlabs.org","X-Gm-Message-State":"AOJu0YwecJl0a3upzaMdZ7n58NjdySahW/YUxlJVhV2iaBdxAH8HiJ3X\n\td9Re+lbDkJ9MdeNllL8Ql65KRJr/vElisk2vFr61GBqTzueEnfXd/dFsmpCKOrOpEe8=","X-Gm-Gg":"AeBDievxn+xUN/jTvAEEegL/6TSP7fljGV6iVT2oNbMB4kp+9syoYnTgSXl9HayvC7f\n\tE2LdAYlIzdvQeTi2xygRhmRGu3lWvD0fRcWiucW2WO2TI4lbKA1gAmD7iwQk47ZC2rUjOQIVL3u\n\teuzUeBDZTI9dnyMVz+0aNoofkTVRdel550cvtq8acaYmktbCMjMPdeZRXONkP4U4QitdJVtBCuf\n\tgCsqRtxHXw04IwSrVotltVF+voyUIJDRxv/KCShSG+FwD8Jbnd/9QH2w6hyYDzgHXte/xNeQ83F\n\teTOSX/c3ELgYJ1IHlyJMjhp0UOcxBOeovU7xwrh2JFkMFDSfJlHkv0IT+fTY2rTaBNZAE0iL40i\n\tg4qxX2+5La3QY+PKlM/z4AnBuJNXDs0GyIIMZcermVJu6YAWvsWFlzWQ36ZypvIZJQxLZH+oNj8\n\tRFA1TH0rXs1ajRfOL+nBwTk5HC+hGEo7pown7IyE/MeT8=","X-Received":"by 2002:a17:903:5cd:b0:2b2:42f8:1a45 with SMTP id\n d9443c01a7336-2b2d5a8ebc5mr145530325ad.39.1776251660541;\n        Wed, 15 Apr 2026 04:14:20 -0700 (PDT)","From":"Muchun Song <songmuchun@bytedance.com>","To":"Andrew Morton <akpm@linux-foundation.org>,\n\tDavid Hildenbrand <david@kernel.org>,\n\tMuchun Song <muchun.song@linux.dev>,\n\tOscar Salvador <osalvador@suse.de>,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>","Cc":"Lorenzo Stoakes <ljs@kernel.org>,\n\t\"Liam R . Howlett\" <Liam.Howlett@oracle.com>,\n\tVlastimil Babka <vbabka@kernel.org>,\n\tMike Rapoport <rppt@kernel.org>,\n\tSuren Baghdasaryan <surenb@google.com>,\n\tMichal Hocko <mhocko@suse.com>,\n\tNicholas Piggin <npiggin@gmail.com>,\n\tChristophe Leroy <chleroy@kernel.org>,\n\taneesh.kumar@linux.ibm.com,\n\tjoao.m.martins@oracle.com,\n\tlinux-mm@kvack.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org,\n\tMuchun Song <songmuchun@bytedance.com>","Subject":"[PATCH v2 0/6] mm: Fix vmemmap optimization accounting and\n initialization","Date":"Wed, 15 Apr 2026 19:14:06 +0800","Message-Id":"<20260415111412.1003526-1-songmuchun@bytedance.com>","X-Mailer":"git-send-email 2.20.1","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","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,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"},"content":"This patch series fixes a number of issues related to vmemmap optimization\nfor compound pages (e.g., DAX), including incorrect page accounting and\nmissing architecture-specific initialization steps.\n\nThe series addresses these issues through the following steps:\n- Patch 1: Fixes a vmemmap accounting underflow in error paths.\n- Patch 2-3: Fixes DAX vmemmap accounting by plumbing the pgmap\n  argument through memory deactivation paths.\n- Patch 4-5: Fixes missing architecture-specific page table syncs by\n  plumbing the pgmap argument through vmemmap_populate APIs.\n- Patch 6: Fixes pageblock migratetype initialization for large\n  compound ZONE_DEVICE pages.\n\nChangelog:\nv1 -> v2:\n- Moved vmemmap accounting to populate_section_memmap() /\n  depopulate_section_memmap() to fix accounting underflow,\n  suggested by Mike.\n- Replaced VM_BUG_ON with VM_WARN_ON_ONCE as requested by David.\n- Reduced frequency of calling cond_resched() in pageblock_migratetype_init_range()\n  based on feedback from David and Mike.\n- Extracted all bugfix patches from a larger patchset\n  (https://lore.kernel.org/linux-mm/20260405125240.2558577-1-songmuchun@bytedance.com/)\n  into this separate patchset, suggested by David.\n\nMuchun Song (6):\n  mm/sparse-vmemmap: Fix vmemmap accounting underflow\n  mm/sparse-vmemmap: Pass @pgmap argument to memory deactivation paths\n  mm/sparse-vmemmap: Fix DAX vmemmap accounting with optimization\n  mm/sparse-vmemmap: Pass @pgmap argument to arch vmemmap_populate()\n  mm/sparse-vmemmap: Fix missing architecture-specific page table sync\n  mm/mm_init: Fix pageblock migratetype for ZONE_DEVICE compound pages\n\n arch/arm64/mm/mmu.c                        | 11 +--\n arch/loongarch/mm/init.c                   | 12 +--\n arch/powerpc/include/asm/book3s/64/radix.h |  9 +--\n arch/powerpc/mm/book3s64/radix_pgtable.c   | 18 +++--\n arch/powerpc/mm/init_64.c                  |  4 +-\n arch/powerpc/mm/mem.c                      |  5 +-\n arch/riscv/mm/init.c                       |  9 ++-\n arch/s390/mm/init.c                        |  5 +-\n arch/s390/mm/vmem.c                        |  2 +-\n arch/sparc/mm/init_64.c                    |  5 +-\n arch/x86/mm/init_64.c                      | 13 +--\n include/linux/memory_hotplug.h             |  8 +-\n include/linux/mm.h                         |  8 +-\n mm/hugetlb_vmemmap.c                       |  4 +-\n mm/memory_hotplug.c                        | 12 +--\n mm/memremap.c                              |  4 +-\n mm/mm_init.c                               | 42 ++++++----\n mm/sparse-vmemmap.c                        | 93 ++++++++++++++--------\n 18 files changed, 160 insertions(+), 104 deletions(-)"}