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 48E4DC36010 for ; Fri, 4 Apr 2025 14:30:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89B22280003; Fri, 4 Apr 2025 10:30:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 86F8C280001; Fri, 4 Apr 2025 10:30:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E95A280003; Fri, 4 Apr 2025 10:30:39 -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 54AAD280001 for ; Fri, 4 Apr 2025 10:30:39 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 426131A0335 for ; Fri, 4 Apr 2025 14:30:39 +0000 (UTC) X-FDA: 83296597398.12.2389EA7 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2088.outbound.protection.outlook.com [40.107.236.88]) by imf24.hostedemail.com (Postfix) with ESMTP id 6C6E9180013 for ; Fri, 4 Apr 2025 14:30:36 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="If+b0/L/"; spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.236.88 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743777036; 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=ReUSZ3oMQXTPnsGquL18rE47VGqTogpE0z1Ep4dGYqE=; b=wfOwHs5BJWmV+XoSIudb/n8/J4ViTK4BoyWWAnCLxF8+UbH6N39vOIag7TI7jZoMwJARe8 O/Yk3r9eyXCtpfWjh11FtVptIIWUiM4odOhpEYeh2BbzCYJQqZr+OdLcDohgrbZExXRXNV 12E8iSQQM+2LQNXeUdp+LQs2GGX0PjY= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="If+b0/L/"; spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.236.88 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1743777036; a=rsa-sha256; cv=pass; b=SjQ8fYCtmsAWsMCezmVBcWvF0c/7W2ihm5iRfIZ9siMZLpYCdj+zHBRi8HjwNZOZ3huhAi XctmnLSzSXw0x/A01MFcsimxUZQXdmaTDaRhjfBZy5lClthDyW2pyuVpKHebl40i9KdCp2 ULQaP+Yjch04AeBbMjVNx5JoSNeR6f8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JaicWWKIESvF/7ANDHPN4Xk24ccuAL23WpysxPqwMHAWoRDVBPGZFa95k9mXWqwyQN97wgoeBkNKk4zmRLdbib/2ukyS52t3we4fVhUnxx75kdBTvWoiTTOnvfm4o9IhtFbdcobMmw3FLAvQhvPEy76K6lMRqpt4tOeBls75d0o17Potao3YuLU0yOoYsH8O9GkZHN0udYL55Y4pXlwusp8GaGvEf7T/4twUkENP0duZAodMndzLFzE88qtP4SasaCI0tWZtobQmWE3CzSL8t84ciaJvyr/RdKJNVz0sqCenaeAkWNWuESZ8lOHj7F0QXrt9W8DPUorMsfocy6uqJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ReUSZ3oMQXTPnsGquL18rE47VGqTogpE0z1Ep4dGYqE=; b=suWGyFDAvmNUVT2A3AQRXKcXcJXLZSARL+iafDYTzici2lfWV+IXWQSUYdaHKEf8Y6TZwmgxPQYUat71YKdSkRNXh187/7ke+yrt+BHS8oColyQ9QXxE3CswDUkjPjgocjH2S94IJhV7L1Nlb/odG8VNzXph0tFbd7mfwcKhxQ+zbNvguV2liwKsdjGrW2USBD/FbxSLZ4ScNswiJ8owIFNJpYwdhpXwr2aZk0ObBoMLugSLahiJPR/lP3gmDc/f7VPohjCkOI/ccZgcfeZjUAgpBD9bl+e+0dZKrzQgaE2BTRyz3TMa6utT+LSPPQmYjrAoy6+X/z2TxwiqNea1pA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ReUSZ3oMQXTPnsGquL18rE47VGqTogpE0z1Ep4dGYqE=; b=If+b0/L/8nZHLfTgRmd4JhfGqMpN4pYoquj+cctX6KKao6DRlPEzyFzAq+p2aPADHyPph/y78HZwcwUMaCM0kG/jr/mNMtvgdkFyKOjmprpcTSsYZ+K2VlZRebjCYdw1hk+zB8M6a5LQjf//QUYqLi3TRH8CmQR08XAWpoPlte4b8r3AzaTzThYF4JUVPZsnyjzTM33BrlS/9xLrdvCJHGvHc+ngrSdU/dbFvRHvhSNpUZTZN6xjte6Ib8WDuFoqXv6KsijrPvVwQlLIWn7oAwA0kSZffuubkw1KM8vCrrPXRgcUaY16B7+GpuqFZrl5BPx9mE/vUf19zoqEspRckQ== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by IA1PR12MB8406.namprd12.prod.outlook.com (2603:10b6:208:3da::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.41; Fri, 4 Apr 2025 14:30:33 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%4]) with mapi id 15.20.8534.043; Fri, 4 Apr 2025 14:30:33 +0000 Date: Fri, 4 Apr 2025 11:30:31 -0300 From: Jason Gunthorpe To: Mike Rapoport Cc: Pratyush Yadav , 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, 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: <20250404143031.GB1336818@nvidia.com> References: <20250320015551.2157511-1-changyuanl@google.com> <20250320015551.2157511-10-changyuanl@google.com> <20250403114209.GE342109@nvidia.com> <20250403142438.GF342109@nvidia.com> <20250404124729.GH342109@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BN9PR03CA0843.namprd03.prod.outlook.com (2603:10b6:408:13d::8) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|IA1PR12MB8406:EE_ X-MS-Office365-Filtering-Correlation-Id: f4fb5910-b2da-41b4-4fed-08dd738541c2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DfCwXe61WKhxPSKAP7Xj4i6VqMV33wuxydV+87HCEh02IIj/iZ3qc+ABsTyB?= =?us-ascii?Q?dj12ueKE5YsJINLbI+b38La0HtplWWA3QMphisu86UPDwuLq+pZ2+ygspi1w?= =?us-ascii?Q?Rm07K/L9nh6O2cSuvEKjX0hvUwZ/rzxGE4mhh4jq1ckp8xvhsA2NyL8rsDOO?= =?us-ascii?Q?1wNrYEcyPj6FCg4F2CWZfYCfGTz8u/05dc6caYB835zKvYMRG72BHuuZBN7S?= =?us-ascii?Q?FCHnHm5DRyDf/+6jHccZ4CE02902C8EzxiBBRCgvK5PHf+I9HVDDQvU4BFHH?= =?us-ascii?Q?oCJWquDdFXxLCazpoBm37q9TYeo9fyn8tmMkoavGB7A2A0LSmw+CODb5md6v?= =?us-ascii?Q?jNc9Bgo8iqq6r+cmm8wd3ziYmU4ErTmFf0M/UVCfaST9DUMm6MJIpn5ul6DP?= =?us-ascii?Q?IbIEKD6MOM8H5ntMU3HJwoAA07R2oBhpURxRclAp7W5UXUyK9gWHCVwYB41X?= =?us-ascii?Q?ouOBPxhc2DhLvavEwFZRojOkT/OBTNn3PskKY1nuGdaFlB9IuYCWVaOO1a4U?= =?us-ascii?Q?JBxUdFt6zTRGcnogDPEmins6dJwhnQzdcV6aIcd0X83vWMk1YQFICjCV3ihG?= =?us-ascii?Q?ezcOmIq0EL7TRGRZwtOd0hGo4+l1/DFjm4VlUToZZWJZvkbYZYvtGXYbe5mG?= =?us-ascii?Q?JIdxAbYa1mRvkmdXvMKZIAPZjXlyrvkA8Mc9881g9ddAyQ7uC6HdPFWGdLQx?= =?us-ascii?Q?uhzHCoQOedzzQLW/aeNws7gn1FgiLOKXgTYjYqYJiZPV6hvA8I0RyKjKYCwL?= =?us-ascii?Q?7qn+pJdHJrG9JUTKYhYYk1CHyKrsbPiyYGQ2dwiPXUHsZ6wcNTAlyGmFUYYf?= =?us-ascii?Q?14cbbLp+b2djhDZZ5Taw5rM1sLTnW75XEXvwY785mLsyCM/xv+jwoEoRYdlQ?= =?us-ascii?Q?u3Cd0O4kFQD+ybxQYa7BatQW1Ts/jKaH+V5yr2U18iipq1nqKn25gThQSAvz?= =?us-ascii?Q?3of29O3QeP7oa1Ws2GlluQMLkf/ArCvaEgbWVFkS9je80inWAhGpsMOChlHp?= =?us-ascii?Q?V7JU62yediSh7fB9M1F6ctEa9aStCVDXT7XJrlx8fpfgfoTbxEhjh7aWyFJg?= =?us-ascii?Q?rk50kLCNotGkOUL6bMELQeCysKtvB13JzOcRbL9GbNYgy1w+CdzJ/s78QP56?= =?us-ascii?Q?avL8RjvrTNcmTBPZavGUcu6EjbkXyZmm8TE9z0Qcuj2BaEQmVHT9bd+AxUjE?= =?us-ascii?Q?KtqUacNO+cll13STyPlIR/XvyxBxjZgs4PBFO8bXUoYwmmCDXqhelMu3l2JN?= =?us-ascii?Q?CxaNo9XhwvajGMC8JEna4zCKuMcLsjdja9XoNtzyx3ExEp4FGs3VGQzDIDbR?= =?us-ascii?Q?3TkLHmRc3aBKi3kGsfh+tBifvCjcaIua1ZbKW0HFGuwbUUn/OlSQHaPsODfu?= =?us-ascii?Q?/Vg2gakyQCC+q5sqeci7c0e28hTF?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8659.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IEyrknkHbyneGKE06wzAqjlORHk4kYY/tIdJ5XwNg5rQZ8AVDEYhxje7oPQU?= =?us-ascii?Q?ByGtRKyXaRfGx5QcslqTCggjiHR3vKbU7CeyDnDKiXqvzgdiLwNtm+jXeTcl?= =?us-ascii?Q?IX07NS0xreefH0Uti6+1GGpcV3NvmC6jd0+mU9nfSpP4ibPGz6DyfX212tUj?= =?us-ascii?Q?ZQH334xfLCIhEKPoEpyif9h2mjkV3C6ojVyKsq+7pRRuuA5SsWVlqHhhyLRe?= =?us-ascii?Q?BkgJIBSYshqglHM72kOX6JQs0UVDI5sy8vGsURzHlUtoAO34XYi//8aHA2Ei?= =?us-ascii?Q?JFXdZTEC8sRdUPgmu4UHKZdvshsxspsExCstZPKZXCzjnnFUK8z7/I6OYx1d?= =?us-ascii?Q?pnCHFKoz1TrIq+4+gTTufsyE2PL7NoL+jYKIeqhpMBkfdMUAX+oM3erhCFJG?= =?us-ascii?Q?0ubf21wzhZP8e6HvxWadVYbw0QLs/mggPhuzEN3qqnIrRc1rvo03rEMR8A3t?= =?us-ascii?Q?RsgCIPPBgUfX5VDJUNT0WtnankDm1X3Rip+lDkhnqMdtO/O74W4YcYaKCkx1?= =?us-ascii?Q?rpidIatQ0l3/T8jLWo+zjecakM5CCSLMPWbi9VaUVX4TYyOQl706E56VPRAV?= =?us-ascii?Q?ugqhZba0p+jAdNZudGAGD2topaHaStdQ0lRU/gIJNV1QUhQ3OJGS8oJLQFpQ?= =?us-ascii?Q?lGpi3lwnuGTn3GNG1yzEWRc8Wv45ueiRDYigTmFn1OEplxneCCqug2fabC3b?= =?us-ascii?Q?FAGPf3xO5sjmXelb/J0crJHGL6+eWA1tBK5P/2iBYw3xHAbi18+3haNRaCEq?= =?us-ascii?Q?dEt7uHgBCvSt1alZ5z7KxonmuS2Gyn88WHP9PHMz9Kn4tyTyTdkQ+Hzq7O/I?= =?us-ascii?Q?11ily2+dtVHuj7Twb4Pe+nRYg9Zkdpyoq19oIRNU87oyXmjr7wrGuQ2vVX/w?= =?us-ascii?Q?0K7UeQe3E4eNM3cq6BCwL97I4fdWndl5xvZ0lXJdEMIXK5owd4kCtT9pnWpg?= =?us-ascii?Q?/Sg0qd38q3PjXh9VW8DofndvxmHzyoXWIYB8CgA+jPVovoG3TV8zFl+n8cK7?= =?us-ascii?Q?q1fkTDg2wOnS0nkLHZqq4cXy1ZIk33oWMjLT0pQ4ylVQ1y2977KI0CexoyS8?= =?us-ascii?Q?mg5YqcJyvGYolKfhXrQX0x6YJ9wx44ToXIA/fd1CdPSzUB7CCDRDvCbd0gmz?= =?us-ascii?Q?WnSIddscim2pkuJYK51f/6woc+vnrfr6GDCtqlUcSQ4Tlc86qr7U3v7cOgb3?= =?us-ascii?Q?VfMN5ggNbihcZFjsfuYX3D6A+TB7S5OqPACPCYGCsmSlIbVWcAkUXqwZLNmi?= =?us-ascii?Q?bqSUeZixeruJD9gV9DaBPYm1tLY8JDLFmeeXyI8jEetPq/FJA1Ve2SBP3YBb?= =?us-ascii?Q?vMy4pMfAA7LcyN1qa0xY/TPuxWmuETzvWSia1VV8nGF8gZ1lSUpGTYdJImu1?= =?us-ascii?Q?7fDZ7fXJJdegXOFO/zT0+u4AHsjv+ErohzJG1n1X3to6SVOMz9Xh4N+pqstI?= =?us-ascii?Q?2aI7PR9QLJi5rhPMjJas3OpiqIGDjopHJbqzYW+SPiSaPyyaWN+qe697fQbH?= =?us-ascii?Q?OophrdbbfCPr4OkN2E1sT94lA3Baq+N8QJjjGMB02JjRC1ViE9r6z1iKamwv?= =?us-ascii?Q?b18GhISvqgykOQrBwEf5ysi8z1rJY5sFdUQOSiVz?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4fb5910-b2da-41b4-4fed-08dd738541c2 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2025 14:30:33.1630 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jzXagn8iRWdCGDAf6ndPE4cu6i4k9JCzENzxV1o6MtU3Fo3eU3J5ewT5NANde2RN X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8406 X-Rspamd-Queue-Id: 6C6E9180013 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 7et5ia9ctemj1k3xwm5h3nya57hndokc X-HE-Tag: 1743777036-530746 X-HE-Meta: U2FsdGVkX19r3tbTSPhbN9rzSS3o2OQfiHYjYnxAbsaJIQG+FEnElPMtikDYyt/ADJ5Nqvk5BOphiFB4zlaauGgJGgwmJhzNQTlyyjCJxknhqe/LGbLF2GNcSkM0eiko42CpOHXEL7UGfMghE9/bGNEoh1kyO+sx5YA5/6QDvjLna2dFEKxGkCykE6l86Lv+U43D6OtKnoDf6iBD/VOrT+3ZhRW1wNJFDeq2LskoL669OofZB4oY3Q2Y1p11o0Lx7bli4vdi5S9hGc4WjeaKqoHxKP6DevoJvkVx8y1i0DbEp1GaK5/r8ZeQyhhXjDs+nS/qYcAgIiULmCIz9U16v/zDm80OeQng4uwy5CaE520QGf3RHeCZgbwe6zcVY9Mhf0bulck7eiY3B+h9OhJKL551rpPIF+GZmEBS/ZBbyLVHoE+4VO8iEp8apbPYKavnSxOP2dJwdunvFMKwaI7TgVui9+WvsLMUVPIlfkbt3EI88TK9iFYvf4me0hAkjdF0qfD0J35JCNyo7q8DAlulNbanIm81dd/A3+LWZbZxH5Bv7VULFDONJPl0xwAg+6uN56sbtxJ4/ZYNV/LF+eomKkQs9tPiZT1KZaRcUMdbukPfm3S67V+WmL0CXATEbxw6mOYIHV++J7pPJgMzzcjIWUj541PfHumdY/rfh4g8+efwj+bUuRSqFPsKffskRzCr8LUksN4Fb7LMSnJXgIgdJr+GOK2qgtxZBI+ZXNigxQTau1Hr24cQ8JFQ8go/epfvzL9klxv2Ba8KIUDWSIqDu/JVRheaFjtVi0eqoYp3wBUhBjGSFw7oj3C/EvDYOZsPVYQai4wNKCXq4sE4OAjeT3vkhua+Yx5Dp5FMo+EJJdL1e8gLl13sqYPjHlO/P6yOTUGCjAGf+nWkmCK1KgIODqk063IzAlS6q0+o1jRbSGXIzS+7XEoESJTbF6l8iL2xsxBLeAefqvRtip7dhMD sB9ZiCm/ m+gauaos6qN/AOkz0RIDQle0FmE0SQbTQlFmTQqqM0uQZEYtV13zIo9sUvsuWJCb0efucaaE5NWoXlJWALXaHMA3T5rnScLQuWnPl3MUIYrjDTopxHPoZMoqCSdAz+IppujlKoH4WVvagBvSQoGo3a2hw5tnp1ryokbY0OJ1e8gbMj8kDRvvNJisVTf8GhORljs99btzf3eezSZtWpuGYlZ6XUkJT4ofPV26hPQEaaW4/1kAZM2l5R1WOeIeO03+X7gG30gs8l/+Hz2/NxGkg+Ia61kh8h5FUp+t/aL3PVTEfJGmK4wysFuoFHLVLs35ppEfvoeHfCuS9R74dKD5V4Bae3E5yjpoz09IUWQN7tJcg7b+2p3pCuTnTfd3VU8WYYm91iv0MZ/SuJgEJop2lAS2D2u+7ims6hh2koNLgvLXyFQJ3gDLjrKhlGJjsO7oJWUfFHl617s9tteErwbMh0IYtkEQG2wZR2Axe 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, Apr 04, 2025 at 04:53:13PM +0300, Mike Rapoport wrote: > > Maybe change the reserved regions code to put the region list in a > > folio and preserve the folio instead of using FDT as a "demo" for the > > functionality. > > Folios are not available when we restore reserved regions, this just won't > work. You don't need the folio at that point, you just need the data in the page. The folio would be freed after starting up the buddy allocator. > > We know what the future use case is for the folio preservation, all > > the drivers and the iommu are going to rely on this. > > We don't know how much of the preservation will be based on folios. I think almost all of it. Where else does memory come from for drivers? > Most drivers do not use folios Yes they do, either through kmalloc or through alloc_page/etc. "folio" here is just some generic word meaning memory from the buddy allocator. The big question on my mind is if we need a way to preserve slab objects as well.. > and for preserving memfd* and hugetlb we'd need to have some dance > around that memory anyway. memfd is all folios - what do you mean? hugetlb is moving toward folios.. eg guestmemfd is supposed to be taking the hugetlb special stuff and turning it into folios. > So I think kho_preserve_folio() would be a part of the fdbox or > whatever that functionality will be called. It is part of KHO. Preserving the folios has to be sequenced with starting the buddy allocator, and that is KHO's entire responsibility. I could see something like preserving slab being in a different layer, built on preserving folios. > Are they? > The purpose of basic KHO is to make sure the memory we want to preserve is > not trampled over. Preserving folios with their orders means we need to > make sure memory range of the folio is preserved and we carry additional > information to actually recreate the folio object, in case it is needed and > in case it is possible. Hughetlb, for instance has its own way initializing > folios and just keeping the order won't be enough for that. I expect many things will need a side-car datastructure to record that additional meta-data. hugetlb can start with folios, then switch them over to its non-folio stuff based on its metadata. The point is the basic low level KHO mechanism is simple folios - memory from the buddy allocator with an neutral struct folio that the caller can then customize to its own memory descriptor type on restore. Eventually restore would allocate a caller specific memdesc and it wouldn't be "folios" at all. We just don't have the right words yet to describe this. > As for the optimizations of memblock reserve path, currently it what hurts > the most in my and Pratyush experiments. They are not very representative, > but still, preserving lots of pages/folios spread all over would have it's > toll on the mm initialization. > And I don't think invasive changes to how > buddy and memory map initialization are the best way to move forward and > optimize that. I'm pretty sure this is going to be the best performance path, but I have no idea how invasive it would be to the buddy alloactor to make it work. > Quite possibly we'd want to be able to minimize amount of *ranges* > that we preserve. I'm not sure, that seems backwards to me, we really don't want to have KHO mem zones! So I think optimizing for, and thinking about ranges doesn't make sense. The big ranges will arise naturally beacuse things like hugetlb reservations should all be contiguous and the resulting folios should all be allocated for the VM and also all be contigous. So vast, vast amounts of memory will be high order and contiguous. > Preserving folio orders with it is really straighforward and until we see > some real data of how the entire KHO machinery is used, I'd prefer simple > over anything else. mapletree may not even work as it has a very high bound on memory usage if the preservation workload is small and fragmented. This is why I didn't want to use list of ranges in the first place. It also doesn't work so well if you need to preserve the order too :\ Until we know the workload(s) and cost how much memory the maple tree version will use I don't think it is a good general starting point. Jason