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 EDEF5CDB47E for ; Fri, 13 Oct 2023 08:49:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 31B1B8D015E; Fri, 13 Oct 2023 04:49:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CA5C8D0015; Fri, 13 Oct 2023 04:49:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1DF988D015E; Fri, 13 Oct 2023 04:49:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0AC458D0015 for ; Fri, 13 Oct 2023 04:49:31 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D5A2CA019E for ; Fri, 13 Oct 2023 08:49:30 +0000 (UTC) X-FDA: 81339814500.19.7F3E480 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id 22AC6C0013 for ; Fri, 13 Oct 2023 08:49:28 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WjGAhUlt; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697186969; a=rsa-sha256; cv=none; b=oFiZF72e/kUVHAChf0vkjiM2KY9gSD0yASQ5DlF0hpQATQZ4B2+wThlD8QKaOkA1IKk+bi /hln7tm1cbvCMPoSLeZM21Exi0nVJgh7RbJoWD/YhTwq7EdDk/KqPNmd2rZNpqm1OLJIvO HjBilehkApXZdLztWyS9WPu+OgYl3b4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WjGAhUlt; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697186969; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DrWe9UkNsUedOWb52F4xWJo8dhthdAb1IFmaAYYK41c=; b=GXXboINEBIfZKaBdElclG2oCWU4zeb1zweQCgasMMWdZEu3ODM0hUbZ6iCjPUzWW0igXe0 2wlQMU3PrVeOe05zAlAiJWzWipgt+f+6KKD3NjKU67Yc5RY3dR2znHkRSNlZA5kQdjrvyi vtF2CgGvUPvHsiJploKthKqtj9ssji0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 1969962053; Fri, 13 Oct 2023 08:49:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F714C433C7; Fri, 13 Oct 2023 08:49:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697186967; bh=HgjG8dXJseeEMaKwgvPf4GwIryB+0yn5uNjJ0rz99XA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=WjGAhUltjuJA2XNhwyr0qRX/QPcKHGR+xBp7blnN3CuekjNPJ10dK91M1VFr5rrsF f72hv/KgddY+FYgM1hwIMzc7xFAFjz445ykEmp9+VOxwaSoaKkWENedQOn53yRgXU8 Zka5wtoybkbuDL02DBSwi7IyJM/ki5Ole9zKoOngTXaEGBX140BMqYhDtTx0DaIvV/ QCgGQzK7ppL+F+60BNLBXWGDHUJH36P6h+9VfFS9wMINIvdDfxBHplPXaNJ6VijI7g jF02GmDzScVqJzyzOAmfx+stRpltbFk+6aoa7A6Ak2WR1T9n536wb0EY/xPelkej7a Wqop4NhhKsy/Q== Date: Fri, 13 Oct 2023 11:48:27 +0300 From: Mike Rapoport To: Yajun Deng Cc: David Hildenbrand , akpm@linux-foundation.org, mike.kravetz@oracle.com, muchun.song@linux.dev, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 2/2] mm: Init page count in reserve_bootmem_region when MEMINIT_EARLY Message-ID: <20231013084827.GT3303@kernel.org> References: <20230928083302.386202-1-yajun.deng@linux.dev> <20230928083302.386202-3-yajun.deng@linux.dev> <20230929083018.GU3303@kernel.org> <2f8c4741-5c7f-272d-9cef-9fda9fbc7ca6@linux.dev> <5382bf2d-5aa0-1498-8169-3248be4b5af3@linux.dev> <38cd0cb9-efe9-b98a-2768-ccb48da8b812@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <38cd0cb9-efe9-b98a-2768-ccb48da8b812@linux.dev> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 22AC6C0013 X-Stat-Signature: en9eycrff6gedbqeffyehqaq34sucein X-HE-Tag: 1697186968-372075 X-HE-Meta: U2FsdGVkX18I1jTEZmltrfvq9uNoMCHN/BWEBrwZeT4M8DC13Ggizq3jiq3Vjd7ualYngiS8+myfCaHYy3Dy50sZY5+k5lJIeGwIi7AdsEQyXYSVJ2bd3c1GVAKurwrlQSIHk/mouu6o12iVbCzsVdL4bTKb6qGvMOZ3HTwBAFuX/AFjj+GTrwk/Y5qg8zoFC0rx6pUyVK35TBGA0giesKzPEihXKNWNbF49t7UNxHLs5ahH5uk0T32JtQlSb6TZTi+dq7l+yk5raBVR1KpZcXvF2DhViUPHMYUb+UUlTm36LKntig2xaUPCHImxg787YG4Z+MIChCSnKA+AD5lNGZ1g7pRYl3AwElkCV+eAdHu4ijcAFolSwTFjGUn6FdhkZbxkJkbxMVM0VO4flh3048Dpaqws/Srsce7dlFngRdLlUMaNlHKN9oN+DYR0tFa1X1pAjXV0iBHCqhm+1N54hqXkQ1LRhKA5695Yc5ZgrVJ/q+JwDCx6HBbQK01R55EBSKQ22NZcIKSAcRHhn5NiSoEvahCcYUpAzhEhjX1A0uklHCM26aKyXzN995t7S9goRka4g9vQMpVej+zysmQbHn8q1INwvZ+FOtxJjCBFO2WFXh/zs66TPjCzedhwCRLNIK6a6i/HGeCNwRyZ4+bLcXAOldbIYID+6AYEHVShATvMgec5onoWCIhTJC1RU9znHNUs1B+X9ZDeZt2mL1SIVLzGiSlzv0Jw9W2kZH+Tn50X39a4NlMIPQgyCjzzEXypDL6xr5UyXGJIwvwnB2byCpkMit4avifZt9hdGE1G/8QFYrLhWmD3QSUMmaE/odaWGKKRigbJbiUBuKbSAlvSoPkwNYKSOSCClPcxlgp6FefN4SHD1UqeXBoKZq5dDDxJ2Y6XFJ/o+eA1pIAkGX9RHlCwkJZ8fcGC3WfkqkKQgqNK9jth4gRquZ9hp3d3LBohNCNr4ePBB+ADbRxmXCv XKA4qqzG gc/EdNopJVhsfLDXdhpQHiveXyXVQK+F8CVjnzt9VKFtJzHPVXOPiM0K4iUN94JBbYwYnWDH8cff2zDl0OEDGckZ5BPn1NROTqsEgZuQw0v4D1ThYVSApT7Q9MJd+b+945PtOYeNC2YM908pMoILeCDFB/srJaqytolE+80Nxmu49bm6OJPVXF4m0WsIOvilJv2ed8a+sOBholmXyc8dZMwt11r4ETrF9GqJ6I/XtXxks77WLyGTh5ctSPT/jYG+O51eZ6Zyrojh3TZwNhTam0Dy59CqVOcLYUI5Ke3/h6omq+Kk= 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: On Thu, Oct 12, 2023 at 05:53:22PM +0800, Yajun Deng wrote: > > On 2023/10/12 17:23, David Hildenbrand wrote: > > On 10.10.23 04:31, Yajun Deng wrote: > > > > > > On 2023/10/8 16:57, Yajun Deng wrote: > > > > > > > > > > That looks wrong. if the page count would by pure luck be 0 > > > > > already for hotplugged memory, you wouldn't clear the reserved > > > > > flag. > > > > > > > > > > These changes make me a bit nervous. > > > > > > > > Is 'if (page_count(page) || PageReserved(page))' be safer? Or do I > > > > need to do something else? > > > > > > > > > > How about the following if statement? But it needs to add more patch > > > like v1 ([PATCH 2/4] mm: Introduce MEMINIT_LATE context). > > > > > > It'll be safer, but more complex. Please comment... > > > > > >     if (context != MEMINIT_EARLY || (page_count(page) || > > > PageReserved(page)) { > > > > > > > Ideally we could make initialization only depend on the context, and not > > check for count or the reserved flag. > > > > This link is v1, > https://lore.kernel.org/all/20230922070923.355656-1-yajun.deng@linux.dev/ > > If we could make initialization only depend on the context, I'll modify it > based on v1. Although ~20% improvement looks impressive, this is only optimization of a fraction of the boot time, and realistically, how much 56 msec saves from the total boot time when you boot a machine with 190G of RAM? I still think the improvement does not justify the churn, added complexity and special casing of different code paths of initialization of struct pages. > @Mike,  By the way,  this code will cost more time: > >                 if (context == MEMINIT_HOTPLUG) >                         flags = INIT_PAGE_COUNT | INIT_PAGE_RESERVED; >                 __init_single_page(page, pfn, zone, nid, flags); > > > [    0.014999] On node 0, zone DMA32: 31679 pages in unavailable ranges > [    0.311560] ACPI: PM-Timer IO Port: 0x508 > > > This code will cost less time: > >                 __init_single_page(page, pfn, zone, nid, 0); >                 if (context == MEMINIT_HOTPLUG) { >                         init_page_count(page); >                         __SetPageReserved(page); > > [    0.014299] On node 0, zone DMA32: 31679 pages in unavailable ranges > [    0.250223] ACPI: PM-Timer IO Port: 0x508 > -- Sincerely yours, Mike.