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 DDFE1C35FFC for ; Sat, 22 Mar 2025 19:12:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D7B6E280002; Sat, 22 Mar 2025 15:12:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D29DE280001; Sat, 22 Mar 2025 15:12:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C1AF0280002; Sat, 22 Mar 2025 15:12:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A4B41280001 for ; Sat, 22 Mar 2025 15:12:34 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 9D4FD1A1879 for ; Sat, 22 Mar 2025 19:12:34 +0000 (UTC) X-FDA: 83250133428.30.F35C8B3 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf25.hostedemail.com (Postfix) with ESMTP id E31DBA0008 for ; Sat, 22 Mar 2025 19:12:32 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lyI4sCRh; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 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=1742670753; 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=+I4xw8elqbcnzVfGASLT+oVORF2vfsaVSUSH5PVsoHA=; b=4e0Lo6EoV/LrX+7918kHdnDCg36/c0zF+8qP4lumg8IWV5sID/UfG7Bgqi3Go2CfdxP4yY zHSRQcyZazPNW+Is2H75ONZJ1Y5ikyEHPfO7gIbCoL2VaGQVgJ0bZU5uxIF/R6X8WrbA1y pzI6FXGZt1PqjEmyhxrFaUpDcgCPn1k= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lyI4sCRh; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742670753; a=rsa-sha256; cv=none; b=NX3cv5j4e2/ZyfSno2DuFYY1Z3wEk+I0TtL5OdoByMVyRQWNZByWhhSkp+InCphhAkJQDU TOCjnp4aEp9rGIh1jdiVUK6pXPR8DKXXQQ5pVljMcjqLhfIA2RSXMMKtC0+8v95JtzM2cD 9bnBAclSC9QokTnPddqNdPtzUc+18BE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 1E57F436D6; Sat, 22 Mar 2025 19:12:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F6FEC4CEDD; Sat, 22 Mar 2025 19:12:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742670751; bh=hd78eeVosTOd4KlACodssv3XvVVN9zb3Aq9MsxkmGP8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lyI4sCRhX+wu+c82pLY5Dfs7mZt0ZonmFNJOxL8M1IVxv3HYH0tgIPU22CTgpZGvb yU8CbZ9/hVu7m9ofuVRiJjaeapqr3YF2RVUBClPDNcsVD8oNweJQywUYhnV9t5lf/p p16YBH3vAafJN32d7BmPXS+iJbxa/ymBFNEZKMBfh2fXO8xKpsJn4LAo+QY+VmbSbL pTmlAfrb43SSsx8tKqn9n99/3fsN0qFoR+dgIk9ZAONTiuE0lcI3GqGzdWqAKZNE2E P2nIkP7uUBe0lMxqdGdYLrF5iKd9mkfgg1Va4uJjSSIM2lXyoFWsO9LNnOCHZ1pcoC GiRSBlpr3jx1w== Date: Sat, 22 Mar 2025 15:12:26 -0400 From: Mike Rapoport To: Jason Gunthorpe Cc: Changyuan Lyu , linux-kernel@vger.kernel.org, graf@amazon.com, akpm@linux-foundation.org, luto@kernel.org, anthony.yznaga@oracle.com, arnd@arndb.de, ashish.kalra@amd.com, benh@kernel.crashing.org, bp@alien8.de, catalin.marinas@arm.com, dave.hansen@linux.intel.com, dwmw2@infradead.org, ebiederm@xmission.com, mingo@redhat.com, jgowans@amazon.com, corbet@lwn.net, krzk@kernel.org, mark.rutland@arm.com, pbonzini@redhat.com, pasha.tatashin@soleen.com, hpa@zytor.com, peterz@infradead.org, ptyadav@amazon.de, robh+dt@kernel.org, robh@kernel.org, saravanak@google.com, skinsburskii@linux.microsoft.com, rostedt@goodmis.org, tglx@linutronix.de, thomas.lendacky@amd.com, usama.arif@bytedance.com, will@kernel.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Subject: Re: [PATCH v5 09/16] kexec: enable KHO support for memory preservation Message-ID: References: <20250320015551.2157511-1-changyuanl@google.com> <20250320015551.2157511-10-changyuanl@google.com> <20250321134629.GA252045@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250321134629.GA252045@nvidia.com> X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: E31DBA0008 X-Stat-Signature: yzu8mj6thfsrs9n8wufuohgo597rfkxx X-Rspam-User: X-HE-Tag: 1742670752-665948 X-HE-Meta: U2FsdGVkX19yWlBPe1XBSYC4+t6gVT8+UgX9W6JRqBkZvNa+p4CLFhHHTOPJDEtwd6OFzXTjrNJl4PVj5WJdc1PWdt9MHxVTsxSsYCHovkyB5t+8YUJ8yaLO7Qu2uwpu0YCddOT98bJrBZ9ElOn+dzxGBu2gsEuqaeDBa31gcMI5PXtkThqpS3o305gOsXQNF44fPTLeXr4ol2o+L2uCICuBHG+9QnhtqE+lE8k8d+EtIh71cHQXGbr+qYWMHfbHSUp/6ZHkZPtPgqDu1svgRiACO6U8PBN7/xgm+sTkmlsgqACdNGhv/8tWuF/BprAdu9Eh14w/cZm5kaXbVa5dejFebWkyKPV4pHLyEDkyZcoIhgNkgk2g1cSglU8Kd6ZWS21ijkpIsBQcpawLmasRoHwnWeBFgPw729Ws3fjjRErRcpdYYPi8AN6SjSNNPVqUNb/Kl62U9d1rSXRAweinpmRrdrq6srABfO9zUAcLlIBsYHVSBrgB0A9+4a7dSmUJWdJRyYyw+ye0Se3NcRvhi22NcqY07gAOK94y0kKoehBB5vldavAXXqH9PuUxsvenGhW1q7/mMUVR42Dtxygln6AMixtjRFUdDhy+rm7PFqaaeol4fOxrk5W7bHy5KpNm6UTYEZWV/DCiIvPoppMzzDmBopEu52tAU9vuTMnKruB0ROPkd4jgeyC0/JfkZjDMN13qz5EFdGywhE8SWg6TplE0QUkt6k5rpVW0n79JWJz75TyFzst8woN1EfsMCbkHejn8v+j7KrM44iEjtFb/iffUr6tLkYp2/z+DzjkAGYoYu/HxZmsGah0AegZw2hjKf5wnSWay96Y0Ngi597dD/TRvfYHh3Y5pdwiO3BI80jrkxnO74cN/NomfGembHQ+nLERvi43zd4ns+gYbFpWn9R/AjI8Qgei9tIK5/xFYoE/IcrRyc7DO/aOrzd1DkFZ6f/C3ZYO9pXdmadiFR5l 7PP6ebL4 +0ngqaqE1WGv350NDrIT2d9gYGdJ2+dnFO+x59pssshMA/oqRsbDhMD4jJcq2DJV56o1cYMfKkrsnGpHvsMMqnMP+4LeeCIuJoLpXTKwr1ioZwJocX1TuG0lQs59RA2VyrFjpBuT0BsWLjZQe3vpfpEVUDTZPnL4bwPOvqdfleaiRsIqJxJJdPaDqekA6eJiJSxpZEpR0gSlvbmRlB3R+YhMQxBxTXHpaMR5qeTsRyT2jT42YURD0DCv+5hguLazT5YXTdkKzdNZ5RiXJJoksd3P4x5jZVu0x2qnrbEi0IQ9BCIDKS3YxHKXCWYQ6yMuUkSr8uyMULXwsVDA= 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, Mar 21, 2025 at 10:46:29AM -0300, Jason Gunthorpe wrote: > On Wed, Mar 19, 2025 at 06:55:44PM -0700, Changyuan Lyu wrote: > > > > +static void deserialize_bitmap(unsigned int order, > > + struct khoser_mem_bitmap_ptr *elm) > > +{ > > + struct kho_mem_phys_bits *bitmap = KHOSER_LOAD_PTR(elm->bitmap); > > + unsigned long bit; > > + > > + for_each_set_bit(bit, bitmap->preserve, PRESERVE_BITS) { > > + int sz = 1 << (order + PAGE_SHIFT); > > + phys_addr_t phys = > > + elm->phys_start + (bit << (order + PAGE_SHIFT)); > > + struct page *page = phys_to_page(phys); > > + > > + memblock_reserve(phys, sz); > > + memblock_reserved_mark_noinit(phys, sz); > > Mike asked about this earlier, is it work combining runs of set bits > to increase sz? Or is this sort of temporary pending something better > that doesn't rely on memblock_reserve? This hunk actually came from me. I decided to keep it simple for now and check what are the alternatives, like moving away from memblock_reserve(), adding a maple_tree or even something else. > > + page->private = order; > > Can't just set the page order directly? Why use private? Setting the order means recreating the folio the way prep_compound_page() does. I think it's better to postpone it until the folio is requested. This way it might run after SMP is enabled. Besides, when we start allocating folios separately from struct page, initializing it here would be a real issue. > Jason -- Sincerely yours, Mike.