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 C12CDC27C75 for ; Fri, 14 Jun 2024 08:00:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47AF66B00ED; Fri, 14 Jun 2024 03:55:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1759D6B011D; Fri, 14 Jun 2024 03:55:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD8B76B00EF; Fri, 14 Jun 2024 03:55:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8728F6B011F for ; Fri, 14 Jun 2024 03:53:52 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4B3F1C0580 for ; Fri, 14 Jun 2024 07:53:52 +0000 (UTC) X-FDA: 82228730304.10.67B1CA8 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf15.hostedemail.com (Postfix) with ESMTP id 1006CA0007 for ; Fri, 14 Jun 2024 07:53:49 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CXEgI2L5; spf=pass (imf15.hostedemail.com: domain of rppt@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718351629; 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=i0sWIEGLKtKBH/fny7BtcjHZ6cxqhkIlHlCdeRJ1H6c=; b=NS3Fa2y/bF/WcXaGTKMqmokensxPSd/sJLjwxf4/gsBweHfy6Te9anOEFnkMAtyi/ZaoV0 D1rytc/fO1pWu1eaMYPk8P7G3hxpquVgBrNNPraWeH1n9OSGRWTJAUh5le78nwT+xSybVV 0w+mPYn0yHWT7JIrKgcUzVJohquXySc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CXEgI2L5; spf=pass (imf15.hostedemail.com: domain of rppt@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718351629; a=rsa-sha256; cv=none; b=fL28x4RqbRd+wWNj9/kq6t201mk+vSvohFFnHyiASnLsLmFHYSvc61loEMUNrWHoDpTOg0 OtJhgRRwn8fplBVwAxO3ESVsvEBfk+hSJ8jVATdgq2dO4VN7sF/b+ZwVMV3GJVLzBv67t6 OlJhL0td0nyxKm4AbA1y3cgSSSA/p/Q= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 83C57CE29B0; Fri, 14 Jun 2024 07:53:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC066C32786; Fri, 14 Jun 2024 07:53:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718351624; bh=h+/wniDhffow13/0x9wXBCH5L3m2C2ifbo5JQH39Ctk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CXEgI2L5Juu2diryLHebBXJlQBjclK3htRMxEw0WSoJqLMQgpfzrVv3Y/hlN7Q+DP h6q2O8Nhe1Yo6QsTaxnC5TWrG0Sh7Zuz2mB9WnqJUUJd3oezlYlxKSsEIKgKSA2cNT Ykv1S5Kz4eDALY0OaYLeJeYwouQptu3s8nf8Bv6+9KVgWKux4Pa5TUt9D5cD3238Nk nZyoyAnxUqzp/ctsyIokKtInIGmZQWaoSdeIcmduVd9lYELIkv0dXgvydC5t11oD8v gAc9skRkCs/bopuIkcNd/ONi/uWZPZ9p2+FuToFXRluCFtTANJD5jBY80k+WOoKlO3 vZTjgYjgiC7lw== Date: Fri, 14 Jun 2024 10:51:32 +0300 From: Mike Rapoport To: David Hildenbrand Cc: 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: 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: X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 1006CA0007 X-Stat-Signature: uam8wnyhew3rrp84bm8jui77hbrusm8p X-HE-Tag: 1718351629-593046 X-HE-Meta: U2FsdGVkX19D4eDVRpLaJnqG+OzwxQ8BRvTCZmDzZZGuA+uhGQ8qpPP8NsFciXY5IKp9PtxPH4TplQZPjfiM01I9p+tgdV9offQ+c5hom0P9JbMD5ZDyeLrg9C2Ci9sDJdgKTDuk4ntWKpA0RZ2RmoE1aDJt0t66r8X1H7xjpBlLQPBSP10ZZiWG0qaZMY//OuwDkC232ayQ4FN6tHOc3oiNN73DE0fBdIYB2NJbXXbBrPdq2APD+7TJMhd2GA5mSHyy8GHZFpDBYZO8eDOahBSsxdkGvLjzbw1HqIBDp4w0D+tJaAfuWDXvnvCt4aTNuk10tXCRZwPM66Wh7kaLj3txqPDyKnASTfu1UWifN0IbEYq6MRtOOyxfUIAw8Z2ftmP9NHM2Q9kxaHhW2Ki5bNtU3Mj/6LJ9NO1vZBV/1a86skX+KdYf1Ze1XXCuRu1EzPrL4ArXCjJzd/5zfwpqFEviIgpmL29NI2EaKhvTxVSgGf4PifhCKDUJWi3znsn42p1Di3Ldb8ufOBH5BQvEkz7v+cOFQ5HHO95IAJSQD0OIhU5SHpwasikHsncSFTiNVVpH1D0f50CjjzHu1SoKZgd2FDlh4n2m5WLM57Ng2RgLSjXzgubKFC6aJm7hRZVXXrIz8OWUwBTl/mecIgdv9eIG1ypZTSFdI11OBdmx30qOHds4PL5P79ah2UOC39zRNLphd+I9MEJgRK/563c/yZKSqvFL6aIvamBonzDkUYb589jllMnrH+EvGfD7QvIg5ttL7yRQeZkX+8QZOT7a8k+YPAuc8c/TwRfZnONzq2NhXVcwxaaIXt4M24D7orXxk0QIM1pNy5/k7fpR5+SDTMLL9a1Sqwwp+d0taSW5CQehFjW4rH3NRyX2/6ZUUJoKOMrXAJVBbhPfxYeY4QCGiaGgM9fRKJvTvMif/p5UCbAnS3c4zk/GtEIYqCKJHU3TL/n9tdvABMA6PWl2XEe SUh26NbK mIa8BS0b0R7lg0q9qMMhijeGZ9BHycFwccGclZuOtb4Y2BNhmAU64Mlae4lXPmHnd5kuOI8YT1H5a7KlCwhSygG+BVUuGckz6p8io6GgkfROJuiOEPh7cMv3fblGCZAz8KTIvusiSoWT//tcMAGF2qeNNCRxcRMkshDzbn4Er4Hp6OfHJ5/I3isGHv+/g3g8oq6D4wmc9dl+xOikGGG72rx87Ad8XbAHl+j/4zutIokAyxus+489Sf2tMuwB7artIHoqxNBZZefqCvMy2iLwVfNOKn+2U09wSMUfR5ctWnED6aCNcMW6y5E4Rq2ycRVHbj6U4bOxGop9vDp9niUGP89aecLo8DKkCY+Z5gnGm+x/VX5935CZfwl1Ul8p6Vqi/C1YWnP++dUj+c8ugXmSavb1ytzAkxtjy7fg/iIWm+4aQ4kzKP3Qv1t8ZghiNhVsb4hOVXJH6jMVpv5r6IqBrUfAs07dIL308XAJzym79c1vjg3E8KAGGY0NvFTjeZ2wJE81EJka/SxjOUiR5FUY2q8a1WltidbmDpBoDfiq6zid4xA6ZEJwknr59KwdRAuW41Qli0AtNJ1e870cIve41RbzGOwrslt6VLVmUWdRJGffmEGA= 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 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 > > 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.