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 81953C27C4F for ; Sat, 15 Jun 2024 03:54:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C925B6B0197; Fri, 14 Jun 2024 23:33:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C40296B0198; Fri, 14 Jun 2024 23:33:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B077C6B019D; Fri, 14 Jun 2024 23:33:59 -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 921DE6B0197 for ; Fri, 14 Jun 2024 23:33:59 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0CC3240969 for ; Sat, 15 Jun 2024 03:33:59 +0000 (UTC) X-FDA: 82231704198.13.05D027A Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf30.hostedemail.com (Postfix) with ESMTP id 259E680005 for ; Sat, 15 Jun 2024 03:33:56 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZMO2QtLr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718422434; a=rsa-sha256; cv=none; b=Li/T0Gqwqf+b3ZfQaD7rFiRNq9UgYXi1xZbGKcLCfWfQzXhNr6w5pCvmoBsc+MxbohrYWj kcokNgfFeWwdWkciEZRhtPscha3OdO/ektMWdjKSH+gNNOOiXXZkWF2SWbvAyq9Wwr+6uk u6sj5Z1sgQ64pTvMB+JPeDPVPO8srX8= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZMO2QtLr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718422434; h=from:from:sender:reply-to: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=eag/ffHulJTH11LAEEzgdujJj7/fMx8Zcn2PVrCD/DQ=; b=zSrAPLd7q/d++CDnKCIoNbxG8rfMAcmtI6peZIakefEgT+XPp8AjOAnAayEoFhJn5qvHKM 9G6xB7KbiFHifWpX8MwvlzhFAQ6BATvfaA3blZ66x3fGqUwu580bRbyNRhqgTP7CvI06hD gCfTDkqNYJcP9JbLh7NUnTvX1/ThkrA= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a6cb130027aso188999966b.2 for ; Fri, 14 Jun 2024 20:33:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718422435; x=1719027235; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=eag/ffHulJTH11LAEEzgdujJj7/fMx8Zcn2PVrCD/DQ=; b=ZMO2QtLr9Km2SIMmS4u+yhDBnwoVB6gaiD2CDRpRjAYcRYGTo5s2strb/WtUwPyqMr n111kgwRDR082cfXQRF4HXKsb1Xjm1haPyn7q0vrwEeX3FSBarFUW9hb+RCdxZrzApkk TYZvRpCjA4mzbS9mcjJHLVxzObXnkH2+Yj7yBZ0NN0cs0G222LKcLsb40PWzIWC041uR 4cnqcK8+tZ7ZQ2EgPVVfVot3rulyo407n4uSXLkKHbJi8slcHnV+5HxUb4A5ogeuo+3o 3DI6gEpYXSizxHaXn24LuFoOWfuQfWQ9R+QwS2eSWQnCnQq06VgNGfLZevZC6JgNpr8C HgNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718422435; x=1719027235; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=eag/ffHulJTH11LAEEzgdujJj7/fMx8Zcn2PVrCD/DQ=; b=wyeWqfSLd8wtTLWsxrTND9HFPGX8K65QNaUi25wrhAJm0U8mL0bXXof5MG0LIryDn+ cZHrLduMqOSd5G3ypn0WNzTxpesnAVHdR7E6Km1rBGWZASAVZekEHYpl9vxeUpNuMrJR 8DXbNQdvfJq/+wnPfRK3thD9MYHg2VCAHjEanPUXm5QNDyqmTf2TtR+ubrLk8gEAtAIo Op6/HPEklA1TqiAs3+pLpnWbHMhbovt9H6UgxlU6rsmseMSb9y9PfP5yWAo01rEizmB7 G3/pjZhuCxtnElc6ir06pGHKNFJxryCHQOzF7ddVmOoIuzZauMhuHEM98iZhwvK91uDZ zp3A== X-Forwarded-Encrypted: i=1; AJvYcCUt2RKATc7hhhxneKu/kr2mHJcMewojbcNgfWSO8oyrrS8TCBoGBhH9fMGrrR0jHd27avm46mLQjPZwhJwNUKbtvf0= X-Gm-Message-State: AOJu0YzFva95rNN2rWJt2dlQkbVla4eJFwFSqNDOlXvQ5Mi9IbN18PRU qe22m7SW8PIatXYD3gFpLDWZb2px46cZBx3Gt2orTjFNsEmzRTx3 X-Google-Smtp-Source: AGHT+IGL7lAZIJvw5lleyUnHUqAnu7lF9NTcOm9/IBkUDKuK0w+zvsi9O2+fFGT2y0TvKYrCDgUKkQ== X-Received: by 2002:a50:c056:0:b0:57c:6338:328a with SMTP id 4fb4d7f45d1cf-57cbd6c7589mr4084253a12.30.1718422435215; Fri, 14 Jun 2024 20:33:55 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-57cb72ce067sm3072462a12.9.2024.06.14.20.33.54 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 14 Jun 2024 20:33:54 -0700 (PDT) Date: Sat, 15 Jun 2024 03:33:53 +0000 From: Wei Yang To: Mike Rapoport Cc: David Hildenbrand , Wei Yang , richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, linux-um@lists.infradead.org, linux-mm@kvack.org, Jason Lunz , Jeff Dike , Paolo 'Blaisorblade' Giarrusso , Alasdair G Kergon , Jens Axboe , Andrew Morton , Tiezhu Yang Subject: Re: [PATCH] um/mm: get max_low_pfn from memblock Message-ID: <20240615033353.ett6vou7da6hixwe@master> Reply-To: Wei Yang References: <20240614015840.12632-1-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Queue-Id: 259E680005 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 5tyu69izoptga14heoxjexzupgi83m1i X-HE-Tag: 1718422436-624684 X-HE-Meta: U2FsdGVkX182t67ZJf1RWWeOvyu9Z1IWP/VoCz5+f7bq2xg7BBYP2Kz9T0LNKDewDaEHGDqBMtqLz2mAAvU5moq2GwPXCveL8ZR0cuR8iOLmgtp4fiZrU73iXNrj+6zYzhFW+C+bTv7HEPHajl/cQpp9g3CoWHiHMpbh+CnNJUOuOFmOr+GHwF/1Wg7USjHf4YpHkpbkuNH7MDqEJHR1yuSakCewJ1KZC9zAmVzKSm2fqA/HijJyIS5db13PZQ0Ix5xmcdOruTPTSaxjCjU+tySBrx5Xsd9j4qFhFS7x1V47xaA2OKVfm12FmxzoFxBiZnV69FH6mFG63DgZa3AjW7jAviizxLutXb4RkSiNNznU42QW3MpJwA36Ef7FgDdRuVrhxCsIBNdJozXBWkeBB71KGjY/E20bNohuz6SFeiidfrD3hQfJ8xmdD6nTuFIWWSlkf0pv+GdOrt6yzRU0Palkz2K2A4wq3kEI1bL/7gmjmdEJXVtHjZh/HzEs1eFIeMCPpgfC/gbNu5+x6Z3Gkux+BSYf6SSoSWea823pdXmF7LAo80UpwAFz26j/ZNcaKBNEKL117SveTQoecgQ6+c9pSEzYzZ0eHjGIUw08tCB2Kgo8+4Cfht7DoN7dSgA1YsyOwLX2/VlAblfdKoUP7YyULNXdfC6iz+jAr7DSzgq50AqY8C8nTrn90/XVq8WsH/x3Ht1haVcNFhAzyNf6hY558UlZsbGqGDiyw871jcyqlLh6hRtnAOzztirTLB64RZB9aER2zElwIU7akVEOyRXPawuXEPuIyhH9/iLjhYfzjmDODc0Hz7Z5i8QHrusY6mHNdkocNHrlEezc97ifzK0eL0Qc2iiPmdjU+EGxGE7yIww9UP/hqaHUPyvzzLYzi70zfm+hGGdInRN8sobnu+qkQDbNf7zkz+y+8cG6USpWyIl4dkabQlDQy/FKTssp283C2gJPNOrFZSbMuki qOUYxqoM gjiV7JDl76v8A+JjmvuXFpmvenJ+abIzcjBSLodG4QRcL0JYOi+NxupCqVc0y/Jaq1E+Z/M1Wc1zd9qpMwmzHjBZRCPcxQHpuAZ1K5hAIuQjbmVL+aczsDqGOhKWVViUYZT0UvDPr3T4HrLEeJApB2+wSEqW8FTjs/fqa3P/lmufkzg8QvKOWbw+FICZP5OLZaNIcFggDDa8rzwWcJ6FRuL9mfr6O06yUew4KzPTrNDc6cY2/SHTl0YQhgmnvpIrIAX8BbcnbaNTLkU52vJGvRdSG2+MkPV5EbeE6Ou8r/DKyzw75Z0JBmG0EBLQSTLzcf+QXPGrWumJVSG/gYAl506afyaXSlxgiyeHtZhKwx3pXoHpprQalfDK0icZnTxBIwdI5fqwvzO87HOTHnxrQvbF5mppXZbh5mfO1mXDtSo32RQhzdFvyzGoNJXd6TpPAjPX1qtpVOn3sHxiEmYwRaqbUl7xPrYWl2mJHkJXtiJzT8c35nCnMvaygoQqz6iS1kv1gu5ZwsybKy3Vgx1L8mxpnZycRvHnZfepIgYm5QRIFFwotEUl5fDT9IQj0soaeXxyuvyGi3EDKAX3frl8DVHiG0topMxasFuu4ofsLGlFuZk2WkITfcm3btv81JPvLjAez4bRXEsIKtGi+ffzuWGKX6OySv3Y7HgMbJvJ5r8xt3FtJ7BxMhSgX5lE0VDxkacNLO4AUAr2UMTlmIRYgPCyU9gVdvc/NPuxYb3wz+iL4kfMGpuoungWn7b42L1opYsNwlN6SnkG9uKWy05+iKXkZGgJZPp81NxKnIBJkIKnlxcQh3EOH2JV7dkR6GHibtLbNesIsclQ8aJAkr9LXQeQEXjBsqrvqlreCy4XeeuaJIjnUlzmqpzXNspTOom3T4u5l/U2rUePCDQ5MMAi7u70QBillO7+4+gyU 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: On Fri, Jun 14, 2024 at 10:51:32AM +0300, Mike Rapoport wrote: >On Fri, Jun 14, 2024 at 09:31:59AM +0200, David Hildenbrand wrote: >> On 14.06.24 03:58, Wei Yang wrote: >> > Current calculation of max_low_pfn is introduced in commit af84eab20891 >> > ("[PATCH] uml: fix LVM crash"). It is intended to set max_low_pfn to the >> > same value as max_pfn. >> > >> > But I am not sure why the max_pfn is set to totalram_pages, which >> > represents the number of usable pages in system instead of an absolute >> > page frame number. (The change history stops there.) >> > >> > While we can get the maximum page frame number from memblock, this looks >> > more reasonable than setting to totalram_pages. >> > >> > Also this would help changing totalram_pages accounting, since we plan >> > to move the accounting into __free_pages_core(). With this change, >> > totalram_pages may not represent the total usable pages at this point, >> > since some pages would be deferred initialized. >> >> Question is if deferred page init is even a thing on UM. But it certainly looks odd+suspiciously wrong to rely on totalram_pages(). > >As long as there is no HIGHMEM, > >max_pfn = max_low_pfn = PFN_DOWN(memblock_end_of_DRAM()) > >should be ok. > >> > Signed-off-by: Wei Yang >> > CC: Jason Lunz >> > CC: Jeff Dike >> > Cc: Paolo 'Blaisorblade' Giarrusso >> > Cc: Alasdair G Kergon >> > Cc: Jens Axboe >> > CC: Andrew Morton >> > CC: Mike Rapoport (IBM) >> > CC: David Hildenbrand >> > >> > --- >> > A simple UML bootup test looks good. >> > --- >> > arch/um/kernel/mem.c | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> > diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c >> > index ca91accd64fc..ca682879e28f 100644 >> > --- a/arch/um/kernel/mem.c >> > +++ b/arch/um/kernel/mem.c >> > @@ -73,7 +73,7 @@ void __init mem_init(void) >> > /* this will put all low memory onto the freelists */ >> > memblock_free_all(); >> > - max_low_pfn = totalram_pages(); >> > + max_low_pfn = PFN_DOWN(memblock_end_of_DRAM()); > >This assignment seem redundant as there is already > > max_low_pfn = min_low_pfn + (map_size >> PAGE_SHIFT); > >in setup_physmem > Looks right, I added some log and shows they are the same. Thanks >> > max_pfn = max_low_pfn; >> > kmalloc_ok = 1; >> > } >> >> Matches what a bunch of other archs do. >> >> Acked-by: David Hildenbrand >> >> >> Randomly staring at other users: >> >> arch/loongarch/kernel/numa.c: max_low_pfn = PHYS_PFN(memblock_end_of_DRAM()); >> arch/loongarch/kernel/setup.c: max_low_pfn = PFN_PHYS(memblock_end_of_DRAM()); >> >> What? the latter cannot possibly be right, no? Looks odd at least. >> Only applies to CONFIG_OF_EARLY_FLATTREE. CCing loongarch maintainer. >> >> -- >> Cheers, >> >> David / dhildenb >> > >-- >Sincerely yours, >Mike. -- Wei Yang Help you, Help me