Cover Letter Detail
Show a cover letter.
GET /api/covers/2175988/?format=api
{ "id": 2175988, "url": "http://patchwork.ozlabs.org/api/covers/2175988/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20251219161559.556737-1-arnd@kernel.org/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api", "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": "<20251219161559.556737-1-arnd@kernel.org>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20251219161559.556737-1-arnd@kernel.org/", "date": "2025-12-19T16:15:55", "name": "[0/4] mm: increase lowmem size in linux-7.0", "submitter": { "id": 80402, "url": "http://patchwork.ozlabs.org/api/people/80402/?format=api", "name": "Arnd Bergmann", "email": "arnd@kernel.org" }, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20251219161559.556737-1-arnd@kernel.org/mbox/", "series": [ { "id": 486021, "url": "http://patchwork.ozlabs.org/api/series/486021/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=486021", "date": "2025-12-19T16:15:56", "name": "mm: increase lowmem size in linux-7.0", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/486021/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2175988/comments/", "headers": { "Return-Path": "\n <linuxppc-dev+bounces-14908-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=AJ64F8Y9;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-14908-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=172.234.252.31", "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org", "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=AJ64F8Y9;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=arnd@kernel.org; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4dXt3D1V8Kz1y2r\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 20 Dec 2025 03:17:12 +1100 (AEDT)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dXt3D0kjzz2yFh;\n\tSat, 20 Dec 2025 03:17:12 +1100 (AEDT)", "from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])\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 lists.ozlabs.org (Postfix) with ESMTPS id 4dXt396CGPz2yFd\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sat, 20 Dec 2025 03:17:09 +1100 (AEDT)", "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id DA1D740A41;\n\tFri, 19 Dec 2025 16:16:37 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id B064FC4CEF1;\n\tFri, 19 Dec 2025 16:16:34 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1766161031;\n\tcv=none;\n b=QcRRC5nOaVkRtS+ep3m8MW7ldLBY9x6h7x943CQ5HNxV3LKndK6+DgtuL1/iQC+qjrMSZyrZKmLdCgNp3hU1lRffupFSXKy2TtyPZn9S9Lp+fuuzi+nmh/w0G5MLSYvM4Z3gUVpZkCtBPU827NwROv4LYocWHAScxllOw287jt+azyBKPQ3m0QQjVmpdhQy5FXVSp3ApJ2UOw0LroyxjTl14dkStIE0RR4M0W7o6fjoxLMuUFuAGZotCilyoUmyEZPaLZV0RityVxCgEVLacfSEC3kUvVggry5dKo/90GKaj6NDjInJzQ4su+TxHGcTQpsI3J6j168bz1Kci2UYl3w==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1766161031; c=relaxed/relaxed;\n\tbh=YrMU+/etl5QuQSZUiyvkx0eeq2klzraORmvlUQahEc8=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=kp2G9emKoA/Y/bDDEwRU9ywk5kKqQ7pLzM1WfIvvmA/xIYB4wSa3efGJYKfUQzGtcEFPjOGap2Hw7xjKw7QhHNWAXew9FA6xFYLqylUjlcUf9dzWf3VVeJdz7xObMrPljxB5K2jkvrRl54sGSwurY+7KX+oEUVN4G/Mn0EmW5R95Y+cLPdrfuMo+kV7fgXmUnF1TgIfa251U9KN5B7eOVgm7pklMiLjvnix+ryB6VxWVe7UyY2KqwZSp69h5i9BmBJKDd9KkgjpJNK6sDIk1g37NmRkRapBj0Rc4Vy1ZP5j5EazYCpUxfbL6e1CLTdPn4azIhWVEo6yWMW1Ny4jHcg==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=AJ64F8Y9; dkim-atps=neutral;\n spf=pass (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=arnd@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1766160997;\n\tbh=JUANTRw13L53ZJeWRkytCQq3wemKN/QVSV7VD+meYXA=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=AJ64F8Y9Olu9SXqmaxmT9KT0vAWaGBKrVOSF5D/0Oz74R9S7OUB4519d3Z2Lp1bl+\n\t O8u/lVF5zadcmz+Jg7ZazmZGrJW4d4Va1PnH2siAZQ+9ghPxuy5UAsm7DU/mLVfq5r\n\t hnksEovGij6hUHhTTaexE7/wA0zSddCm3xkBo5gXW6F07o6HD0gY/tadQ3Mrz7EbXB\n\t S1D4hNCpD473VLN7fQzyjsiHa49R2e0xMzWwQkDuiqzMQmmO9guk6Kqz94jCpgzdfP\n\t hn3U6Jmry9eImWjt1gJ5CsTA5x9BkByml4oyXj5zLBrNtTGtQjGdonwP5jZ7tWWVGG\n\t gJZ0MXw+MyIAw==", "From": "Arnd Bergmann <arnd@kernel.org>", "To": "linux-mm@kvack.org", "Cc": "Arnd Bergmann <arnd@arndb.de>,\n\tAndrew Morton <akpm@linux-foundation.org>,\n\tAndreas Larsson <andreas@gaisler.com>,\n\tChristophe Leroy <chleroy@kernel.org>,\n\tDave Hansen <dave.hansen@linux.intel.com>,\n\tJason Gunthorpe <jgg@nvidia.com>,\n\tLinus Walleij <linus.walleij@linaro.org>,\n\tMatthew Wilcox <willy@infradead.org>,\n\tRichard Weinberger <richard@nod.at>,\n\tRussell King <linux@armlinux.org.uk>,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-fsdevel@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tx86@kernel.org", "Subject": "[PATCH 0/4] mm: increase lowmem size in linux-7.0", "Date": "Fri, 19 Dec 2025 17:15:55 +0100", "Message-Id": "<20251219161559.556737-1-arnd@kernel.org>", "X-Mailer": "git-send-email 2.39.5", "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=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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": "From: Arnd Bergmann <arnd@arndb.de>\n\nAt the kernel summit in Tokyo last week, I hosted a session on dealing\nwith highmem in the long run, see the link below.\n\nMy feeling was that we got sufficient consensus on the plan to keep the\nfuncationality present for the time being but instead reduce the scope\nof highmem in the kernel as much as we can without hurting users.\n\nThe short summary is a three stage process:\n\n 1. Nudge users towards using a larger lowmem zone with the\n CONFIG_VMSPLIT_* options if at all possible.\n\n 2. Drop most __GFP_HIGHMEM allocations and corresponding kmap()\n calls from the kernel, leaving only the subset that is likely\n to contain the majority of the actual allocations.\n Specifically we will keep anonymous and regular file backed\n user mappings, zsmalloc, and huge pages.\n\n 3. In a few years, also drop the page cache allocations and leave\n perhaps only zsmalloc using a much simpler interface. I suggested\n five years as the time until we do this, but the timing depends a\n lot on how the first two stages work out in practice, and how long\n the remaining highmem users plan to keep updating their kernels.\n\nThis series implements stage 1, mostly using Kconfig changes to the\ndefault settings but leaving the traditional behavior as a CONFIG_EXPERT\nchoice in Kconfig. With the new defaults, most installations that use\nhighmem today with 1 GiB or 2 GiB of system RAM will see all of their\nRAM in the lowmem zone after upgrading their kernels. My estimate is\nthat instead of 80% to 90% of maintained embedded 32-bit systems, this\nshould cover over 98%.\n\nAs I don't actually have hardware in the category that still needs\nhighmem, I tested this using a qemu-system for Armv7 and PPC6xx running a\nDebian userland with all combinations of VMSPLIT and HIGHMEM options. I\nran some kernel builds on the Arm guest to ensure that the new options\ndon't cause functional or performance regressions for regular workloads\nthat don't exceed the virtual address space. I also ran some tests\nwith Firefox and was positively surprised to see that this still works\non the VMSPLIT_2G_OPT configuration without highmem, though it gets\nclose to both the address space and lowmem size limits.\n\nThe change to use VMSPLIT_3G_OPT by default on Armv5 means that I could\ninclude a patch to no longer support highmem at all on VIVT caches,\nas suggested by Jason Gunthorpe.\n\n Arnd\n\nLink: https://lpc.events/event/19/contributions/2261/\n\nArnd Bergmann (4):\n arch/*: increase lowmem size to avoid highmem use\n ARM: add CONFIG_VMSPLIT_2G_OPT option\n ARM: remove support for highmem on VIVT\n mm: remove ARCH_NEEDS_KMAP_HIGH_GET\n\n arch/arm/Kconfig | 12 ++-\n arch/arm/configs/aspeed_g5_defconfig | 1 -\n arch/arm/configs/dove_defconfig | 2 -\n arch/arm/configs/gemini_defconfig | 1 -\n arch/arm/configs/multi_v5_defconfig | 1 -\n arch/arm/configs/mv78xx0_defconfig | 2 -\n arch/arm/configs/mvebu_v5_defconfig | 1 -\n arch/arm/configs/u8500_defconfig | 1 -\n arch/arm/configs/vt8500_v6_v7_defconfig | 3 -\n arch/arm/include/asm/highmem.h | 56 +----------\n arch/arm/mach-omap2/Kconfig | 1 -\n arch/arm/mm/cache-feroceon-l2.c | 31 +-----\n arch/arm/mm/cache-xsc3l2.c | 47 +--------\n arch/arm/mm/dma-mapping.c | 12 +--\n arch/arm/mm/flush.c | 19 +---\n arch/microblaze/Kconfig | 9 +-\n arch/microblaze/configs/mmu_defconfig | 1 -\n arch/powerpc/Kconfig | 17 ++--\n arch/powerpc/configs/44x/akebono_defconfig | 1 -\n arch/powerpc/configs/85xx/ksi8560_defconfig | 1 -\n arch/powerpc/configs/85xx/stx_gp3_defconfig | 1 -\n arch/x86/Kconfig | 4 +-\n mm/highmem.c | 100 ++------------------\n 23 files changed, 56 insertions(+), 268 deletions(-)" }