From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD62C3A4F58 for ; Wed, 18 Mar 2026 09:19:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773825542; cv=none; b=XRqKPi4nSHkgeTRYNNY+B4JZIVRsq3jyh5rRPf0UOgq3Be08L1oowcxywFwkEEPiZ6pP/rqsBfnM53phX2QOwmlFsmEyghoXQ2/80u2SSLGH/fBSgzjnIlEA9zBaY3Dy3FrlVpVQ3iN9iof/HMyQcnCWjZRUrHDh/ZjYIGaFEdc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773825542; c=relaxed/simple; bh=0JD2z9hbWyZ4tnmpCj9vi532auXFmzldAoMxVsPMnJo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=iFp0XlDlVR9tlRMItd9+TFLm6msQRJpm7GKOme/rNjViP+Vj0CIimpfk+f8R7J5nIQvtOHkNBgwwgntdwltBYsyjSsdRt2GKhkqsHqgaJZNIZmSdcem0KJv0iD5BIYlU6AhNUMsaScNIR3FSLSlPW2YgKNW6BBuRXb5i0oU1EE0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Zvb2MB6S; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Zvb2MB6S" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BFBAC19424; Wed, 18 Mar 2026 09:18:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773825542; bh=0JD2z9hbWyZ4tnmpCj9vi532auXFmzldAoMxVsPMnJo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Zvb2MB6S69hYoIHPGZ0bJZwkuTFepjTX/yV5EVd7ToI/nxFmvKEcFi3O+uZrzUw4R zfNlhlNJeA+Dm77J9IwPwb3h7rDGehR1yRgiEYgzxvubydT6yVFBUO51ZOq4y+RmLo nfA6XrFcP/0Qu1qRjfxonLvnckW4ZoumlxlkvCxvGLr3MnnO5mQZTj1msRe5vc+GSj //lu61VMUjxdMWpMEP0WeUN9qIqDYzEcYmhmOjtVWnQ9EdvxOo0Fp5ZXCt5Xtl90ax s1eh6eCKRzUS5NOHPlbqCXt6WlsV/hm0lcaZFGIR6PQ/GArZV9rp30G/tnA5oU9/s1 TTELR8V/h0c1Q== Date: Wed, 18 Mar 2026 11:18:55 +0200 From: Mike Rapoport To: Michal Clapinski Cc: Evangelos Petrongonas , Pasha Tatashin , Pratyush Yadav , Alexander Graf , Samiullah Khawaja , kexec@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan Subject: Re: [PATCH v7 0/3] kho: add support for deferred struct page init Message-ID: References: <20260317141534.815634-1-mclapinski@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260317141534.815634-1-mclapinski@google.com> Hi Michal, On Tue, Mar 17, 2026 at 03:15:31PM +0100, Michal Clapinski wrote: > When CONFIG_DEFERRED_STRUCT_PAGE_INIT (hereinafter DEFERRED) is > enabled, struct page initialization is deferred to parallel kthreads > that run later in the boot process. > > Currently, KHO is incompatible with DEFERRED. > This series fixes that incompatibility. > --- > v7: > - reimplemented the initialization of kho scratch again > v6: > - reimplemented the initialization of kho scratch > v5: > - rebased > v4: > - added a new commit to fix deferred init of kho scratch > - switched to ulong when refering to pfn > v3: > - changed commit msg > - don't invoke early_pfn_to_nid if CONFIG_DEFERRED_STRUCT_PAGE_INIT=n > v2: > - updated a comment > > I took Evangelos's test code: > https://git.infradead.org/?p=users/vpetrog/linux.git;a=shortlog;h=refs/heads/kho-deferred-struct-page-init > and then modified it to this monster test that does 2 allocations: > at core_initcall (early) and at module_init (late). Then kexec, then > 2 more allocations at these points, then restore the original 2, then > kexec, then restore the other 2. Basically I test preservation of early > and late allocation both on cold and on warm boot. > Tested it both with and without DEFERRED. > > Evangelos Petrongonas (1): > kho: make preserved pages compatible with deferred struct page init > > Michal Clapinski (2): > kho: make kho_scratch_overlap usable outside debugging > kho: fix deferred init of kho scratch > > include/linux/kexec_handover.h | 6 ++ > include/linux/memblock.h | 2 - > kernel/liveupdate/Kconfig | 2 - > kernel/liveupdate/Makefile | 1 - > kernel/liveupdate/kexec_handover.c | 65 ++++++++++++++++++--- > kernel/liveupdate/kexec_handover_debug.c | 25 -------- > kernel/liveupdate/kexec_handover_internal.h | 7 ++- > mm/memblock.c | 22 ------- > mm/page_alloc.c | 7 +++ Although it's a small change, page_alloc maintainers should be CC'ed Adding them now. > 9 files changed, 74 insertions(+), 63 deletions(-) > delete mode 100644 kernel/liveupdate/kexec_handover_debug.c > > -- > 2.53.0.851.ga537e3e6e9-goog > -- Sincerely yours, Mike.