From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2F1CC36017 for ; Wed, 2 Apr 2025 12:19:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BA40280004; Wed, 2 Apr 2025 08:19:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 84230280001; Wed, 2 Apr 2025 08:19:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E353280004; Wed, 2 Apr 2025 08:19:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 4CADE280001 for ; Wed, 2 Apr 2025 08:19:11 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9BB43AC822 for ; Wed, 2 Apr 2025 12:19:12 +0000 (UTC) X-FDA: 83289008544.24.FCF91FB Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf15.hostedemail.com (Postfix) with ESMTP id 61FE5A0016 for ; Wed, 2 Apr 2025 12:19:10 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=4C4HdGt+; dkim=pass header.d=linutronix.de header.s=2020e header.b=t1CXcxl7; spf=pass (imf15.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743596350; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=QPwuNcBCkbZ5awEPfs4/za9zsV6NBdgUfdxmq9Ar2zg=; b=p1hVOwcqkhMVn9a6WhN21/OFX/Ntwn5iRqVt2EFZoyWvfeL20/ea0MxmfhP6MGaCakE5V3 NvzqdGS0gyqPpjFMA1F3pBlaxUi3JWhyGXIW8znZSuLh7EqC5OxAEFGy3VeXgQdHmQM0PT gCe7pcw6BdQzzl0TIjq002PyLlpAjX0= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=4C4HdGt+; dkim=pass header.d=linutronix.de header.s=2020e header.b=t1CXcxl7; spf=pass (imf15.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743596350; a=rsa-sha256; cv=none; b=VzaYHMJwvb1sRP5vzyyTS8M3RcV0q565V2ydwtFI2maaplWmwfCjf9mtYMpcefHQbqM3cv ix+Jr93rBio7ey6mwVPaollixhjXZ9DsoAOldnIIeZAYukSpmMy/MYYhTZ/M2mtfQne0oA /NGv1as0CX7i+csRL36gWllIaY7VRQg= Date: Wed, 2 Apr 2025 14:19:01 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1743596346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QPwuNcBCkbZ5awEPfs4/za9zsV6NBdgUfdxmq9Ar2zg=; b=4C4HdGt+Eda2qns01kTkRT+qPk6Wn4tZQ5k8O1Gx7H6kUOU1PXVZWAQFtMS0r4AiH92Qy2 T19YMwiz9JFLLSHv54Dn9RITOldT/MtOzK49CNMWAuxNeEC+2Y6jm0UKbVEosmPzAfc5jj 9ZmhrVVrsxgekRU0tgRzk1+hD6Ij87xwwZ7agsbOUR5Gj8FET9ayzNQGwloZQFkrw1war7 RXDjG/MLKkGblGXOcKEt15IW1odXI5QbD6QWTMGTgmopNAe9NZ59ehpG3ncR54fm//ECjU qSSL0ofXcq5UCmBbiP/BNaPIX9ZMUzNeOBxIdcNETXuRaJGbkcuNUw631Z8kYQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1743596346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QPwuNcBCkbZ5awEPfs4/za9zsV6NBdgUfdxmq9Ar2zg=; b=t1CXcxl7E7i5zDKv6ErJjLdNnAghpNhssI165DwRwHvZe5uvKbvjZ19neMAQXjnMrzKBSO g9EkcgUMbGsLe6BA== From: Thomas =?utf-8?Q?Wei=C3=9Fschuh?= To: Mike Rapoport , Andrew Morton , Dave Hansen Cc: Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , Borislav Petkov , Dave Hansen , "David S. Miller" , Geert Uytterhoeven , Ingo Molnar , Peter Zijlstra , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, Naresh Kamboju , lkft-triage@lists.linaro.org, Linux Regressions Subject: Re: [PATCH v2 10/13] arch, mm: set high_memory in free_area_init() Message-ID: <20250402140521-bf9b3743-094e-4097-a189-10cdf1db9255@linutronix.de> References: <20250313135003.836600-1-rppt@kernel.org> <20250313135003.836600-11-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250313135003.836600-11-rppt@kernel.org> X-Rspamd-Queue-Id: 61FE5A0016 X-Rspamd-Server: rspam05 X-Rspam-User: X-Stat-Signature: 4zjsiwopbgxzm7p68bbjh3yc3a4q16ui X-HE-Tag: 1743596350-593201 X-HE-Meta: U2FsdGVkX19u5hdIxObcC18n7MnG5RQf2xH9jBfl9agdDT78tlb3bHADeE5E5g2/FjwvvC2wY54xcpDEqnEzVYnp4mFoveEr/wY8D2A0uSUb4iG1+pzdKqPQqzmFSY+9GuQPOTvoVpFInHUxal7XJI4jOkqam+HjieukAcbKrTpjtD0nYf+EdLpIhp17mb6jMNtvwZAqvbF3h/Q84ZPlFHBW+aedATvk62biL5udZq6hLAGzvV2g+fIe4z+Sa3XcUrPbn8OMW4YlwxnQhc7Gm5A9udIGRGxGnGOP8fg2th7lpz62lBxTSkIDDxt4QJtMYzcceUfPAPv2WMUJ6VXkoAg+JrW/cKxFJuKCWpRNurHVSNJzzyvIKOC2rw6jKSMj/VYBPW5L1DDVS3Gj9WUP1RCzGoXF304GY3FKGshLpwqfRu32M/k0pFP8svHq5/so6B7s02ce+wuRVNke5wr/UF3xqK1Zp6HJOdRxA43/tjEXolnranvucA8GjOl2olIDgK74u5nqG9ez27tKaoux8qJtH6oACLgQTYNBmELggJbEKCQmgnTukHgRMR8r9jTzV8FP9IOht6Ztsf7o23k0ST2M2Qywvs23O7V8Etbj9qGsK5kHx3lwbryTa1sal+EcZnCMAsF3up+JP5enlhOfEVKYFuTSDTK6+rwuixv5pSl9a5DoO/lHGixF9tusPhaEwT7ng/5UpJcMBwqA3mX6pWr2R6fy31fBHnxR2NbVDzoJxLX3oPSIhNo554HykLvH7je1Fx3meUHMtQeYu2K+3GU8pgj/IQ8XDW4ABtVTsIgIbv8XfeUUl74iVlhQF5r5oPLOe0cSTmXZ3mkkjm1KZPC/80CXVPKiiiJDQm58Cdt6PeuHlZ+l/LjkRTAHESNNFEW91Mk7G/ST3Dw0vqX3hpjo12YtoEKfXLI048lFTPUXammJ0Paff8DpyFIDP914tHSLlkfaGL9GA8iqH1u wocaVNaC ma7ody3vkJzeCgCdDPW5/hq+ysSGOKj2eDlhyHqzPUASqaWChUlAYBVb8YQdAA4hQKYVSeDhgbMW/cMysUSZ6Bn6Q4o9L44deoivDl6MxuUdWg4dD2MDTCMVFUMfpsWsttXzV9eqk9THZmXyhhEX6Sa4aKFgoJ+vXErt+zRT0CcV8RZ49B0Bp4ZJVl3tg8Jt913ol5dUofVohs1Gx/0xyqXCcEN344Vgit5o2KxZqTvJkmlR4/5RiCP1o/N4qSltdXIFm6Ujwwfm+3G4HMLnRZonaI+5dneTsC97jkh5O8Rbp3bRk8ToC8dh2wG1/RTngwTIpEKfNSI4R0Af9afg3HGCl2AX+m5xK6+rvjuo+ZBYLa5baG256hx4GA9jxRnJuAydbLSI0y639cYJ+fdPSpEMrA03vcL2od0Jcc+jCqNHH+l5MFF3aJdbmc1RoxaXBy7usb+rfPNbhaJxUbOGSmSDgTnlyC9IwYn8M4OsOTudznh1sjXnFKTeqPFZNzo2nZ8f8pakFb/YzNtV//7SadNoF4g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: (drop all the non-x86 and non-mm recipients) Hi, On Thu, Mar 13, 2025 at 03:50:00PM +0200, Mike Rapoport wrote: > From: "Mike Rapoport (Microsoft)" > > high_memory defines upper bound on the directly mapped memory. > This bound is defined by the beginning of ZONE_HIGHMEM when a system has > high memory and by the end of memory otherwise. > > All this is known to generic memory management initialization code that > can set high_memory while initializing core mm structures. > > Add a generic calculation of high_memory to free_area_init() and remove > per-architecture calculation except for the architectures that set and > use high_memory earlier than that. This change (in mainline as commit e120d1bc12da ("arch, mm: set high_memory in free_area_init()") breaks booting i386 on QEMU for me (and others [0]). The boot just hangs without output. It's easily reproducible with kunit: ./tools/testing/kunit/kunit.py run --arch i386 See below for the specific problematic hunk. [0] https://lore.kernel.org/lkml/CA+G9fYtdXHVuirs3v6at3UoKNH5keuq0tpcvpz0tJFT4toLG4g@mail.gmail.com/ > Acked-by: Dave Hansen # x86 > Signed-off-by: Mike Rapoport (Microsoft) > --- > arch/alpha/mm/init.c | 1 - > arch/arc/mm/init.c | 2 -- > arch/arm64/mm/init.c | 2 -- > arch/csky/mm/init.c | 1 - > arch/hexagon/mm/init.c | 6 ------ > arch/loongarch/kernel/numa.c | 1 - > arch/loongarch/mm/init.c | 2 -- > arch/microblaze/mm/init.c | 2 -- > arch/mips/mm/init.c | 2 -- > arch/nios2/mm/init.c | 6 ------ > arch/openrisc/mm/init.c | 2 -- > arch/parisc/mm/init.c | 1 - > arch/riscv/mm/init.c | 1 - > arch/s390/mm/init.c | 2 -- > arch/sh/mm/init.c | 7 ------- > arch/sparc/mm/init_32.c | 1 - > arch/sparc/mm/init_64.c | 2 -- > arch/um/kernel/um_arch.c | 1 - > arch/x86/kernel/setup.c | 2 -- > arch/x86/mm/init_32.c | 3 --- > arch/x86/mm/numa_32.c | 3 --- > arch/xtensa/mm/init.c | 2 -- > mm/memory.c | 8 -------- > mm/mm_init.c | 30 ++++++++++++++++++++++++++++++ > mm/nommu.c | 2 -- > 25 files changed, 30 insertions(+), 62 deletions(-) > diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c > index 6d2f8cb9451e..801b659ead0c 100644 > --- a/arch/x86/mm/init_32.c > +++ b/arch/x86/mm/init_32.c > @@ -643,9 +643,6 @@ void __init initmem_init(void) > highstart_pfn = max_low_pfn; > printk(KERN_NOTICE "%ldMB HIGHMEM available.\n", > pages_to_mb(highend_pfn - highstart_pfn)); > - high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1; > -#else > - high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1; > #endif Reverting this hunk fixes the issue for me. > > memblock_set_node(0, PHYS_ADDR_MAX, &memblock.memory, 0);