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 9E1B5C3600B for ; Mon, 31 Mar 2025 16:37:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 88CED280007; Mon, 31 Mar 2025 12:37:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 862E1280005; Mon, 31 Mar 2025 12:37:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B49D280007; Mon, 31 Mar 2025 12:37:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 47B7C280005 for ; Mon, 31 Mar 2025 12:37:43 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7EAB316196D for ; Mon, 31 Mar 2025 16:37:43 +0000 (UTC) X-FDA: 83282402406.14.DBC373B Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2072.outbound.protection.outlook.com [40.107.237.72]) by imf03.hostedemail.com (Postfix) with ESMTP id 8D14020014 for ; Mon, 31 Mar 2025 16:37:40 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dO0xkRp9; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of jgg@nvidia.com designates 40.107.237.72 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743439060; 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=aYd6TODY82k8YE4wf8Rl8q5YflW+eiEL4KKFnFUdYjk=; b=rwvKZo05WY73b81u9jP4UUnR6wDTo4QAs1pSjXjZjVmW5tXEl9b/6D2vIf5ZsQYzkqHlXr CE+POIahlE/w7Ru1pp9STAQRPrjoz+b8xEyasSH+4biitabOm7vPwapG1Ml2ktbJarGwMi WkKpv/+hux055nqc7l9ELFdvdzVkFNA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1743439060; a=rsa-sha256; cv=pass; b=8WA8w1ni31ohqHD81XeU7yY6M/DgtSY3kDEw9yq91uA0ZFIQKR5VnoPWBZre81XUq/I8Dg HtcYZjMa2eAzzAjnox8NA0dS60D39lx0qDj96U6BSSVt3ptlvVgeEUjf9bKnRI6OyXD91I Gv0pYk9gHdtxjbR24QP23mj1sZDWVxc= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dO0xkRp9; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of jgg@nvidia.com designates 40.107.237.72 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RwMM+L9QWgw9/H2siigzQnqdEG25KD1kB8E+coNwQWKvds1On8cRZ9CTsF/ks0O6jJFIY5GVIdMcrR/Sa6yknyakLqUuchGbuyZ9aVIs76azd9RxaT1qek/ikGrl8Zwz0S/H4uMesAIGoQUZ3FQoNC4J8LSQ/ZO59gUeiSl4owOyv1EE87TtRaRXYPxIg7AnDMumtWGCqVwHekJaSxOL3Rt5iSk4P18yphdLWsVnEDlEYR066lJ7uXn8cA9gUd6yQM9HRxCX0T6h75isiZelujV28+9OYTaqBSOSaNXkYRky19vZM6tTeK4VMiuc9K4qAT6L9JZmFv7h6133Gc+Teg== 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=aYd6TODY82k8YE4wf8Rl8q5YflW+eiEL4KKFnFUdYjk=; b=TQVytQfEdHQtAkAs/5A92yJAZVJGBhCKNRpHFE7L0HF0oZOOert0BvT76PYPXfDbCKhx1ZSNZtQTdlIBWSRF+Z3gZVbNHgD1ujzJ4A6z5BjEap+9M4ZfyOHTUGf0GOEQ3pmoU6y6PJrKvSu7q5qYIfUBQahBPFe1bxLGybJkohv1JPsqW5ZIMno6I3Nd3soKgeyW19r+HbqAXn/FaYDWV9WlXhWS3P1oSeWzl5W++91KcySrTRc6jR/LIJeyMmn2fBDPsaaSnwWWeQUlscUSRp+TL+iU4mtRiToaMW3Y6Dc4XICosTkFaNW6mp2s8ZxCX9OT2yDK0zI6/xvSx4C7Kg== 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=aYd6TODY82k8YE4wf8Rl8q5YflW+eiEL4KKFnFUdYjk=; b=dO0xkRp9FNrkckdw1E9/YGSIueghN+j4oDONqUfLFpFhuenNlXuFVw+Lm7/ZLsJxTuPJSq2yCnfss9YssdP+9YOQ+LTe9HDiczyRAmBl7XRQa8s0Ki5ubtKWfVHUXoHubbkBeDU4STcUUxlNfWt64iUEL6j1nh0C8x2Lk9AEhtBCLeUKhdewgdOwNb3WaD5V5x2Qzja8o21ZsoaQUqk+KR3mbwzEUdJu0B4mnLHNMwRbaGbk+EYxwg3fr227iuck4/2GqAShGEkflnrNn/LHb14GJ+97tLgFPmFf8BXiO3deqdKhZ3hM7cDsgX+s+JI/k305+g74S9WXSfFVqYTqTQ== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by PH8PR12MB7028.namprd12.prod.outlook.com (2603:10b6:510:1bf::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar 2025 16:37:37 +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; Mon, 31 Mar 2025 16:37:36 +0000 Date: Mon, 31 Mar 2025 13:37:34 -0300 From: Jason Gunthorpe To: Pasha Tatashin Cc: changyuanl@google.com, graf@amazon.com, rppt@kernel.org, rientjes@google.com, corbet@lwn.net, rdunlap@infradead.org, ilpo.jarvinen@linux.intel.com, kanie@linux.alibaba.com, ojeda@kernel.org, aliceryhl@google.com, masahiroy@kernel.org, akpm@linux-foundation.org, tj@kernel.org, yoann.congal@smile.fr, mmaurer@google.com, roman.gushchin@linux.dev, chenridong@huawei.com, axboe@kernel.dk, mark.rutland@arm.com, jannh@google.com, vincent.guittot@linaro.org, hannes@cmpxchg.org, dan.j.williams@intel.com, david@redhat.com, joel.granados@kernel.org, rostedt@goodmis.org, anna.schumaker@oracle.com, song@kernel.org, zhangguopeng@kylinos.cn, linux@weissschuh.net, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, gregkh@linuxfoundation.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, rafael@kernel.org, dakr@kernel.org, bartosz.golaszewski@linaro.org, cw00.choi@samsung.com, myungjoo.ham@samsung.com, yesanishhere@gmail.com, Jonathan.Cameron@huawei.com, quic_zijuhu@quicinc.com, aleksander.lobakin@intel.com, ira.weiny@intel.com, andriy.shevchenko@linux.intel.com, leon@kernel.org, lukas@wunner.de, bhelgaas@google.com, wagi@kernel.org, djeffery@redhat.com, stuart.w.hayes@gmail.com, jgowans@amazon.com, Pratyush Yadav Subject: Re: [RFC v1 1/3] luo: Live Update Orchestrator Message-ID: <20250331163734.GA266513@nvidia.com> References: <20250320024011.2995837-1-pasha.tatashin@soleen.com> <20250320024011.2995837-2-pasha.tatashin@soleen.com> <20250320144338.GW9311@nvidia.com> <20250320192601.GG206770@nvidia.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: MN0PR05CA0028.namprd05.prod.outlook.com (2603:10b6:208:52c::12) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|PH8PR12MB7028:EE_ X-MS-Office365-Filtering-Correlation-Id: 82c766a2-94f9-41cb-d5d8-08dd707257b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SkttUVY4QlR1NFh6aXNCTURSVEl0eHVGeURNZXFnaVBqcDhpeG8ybnZoMDkv?= =?utf-8?B?cDg4M3VRQmxzeGhMN01OMjhPb29VWExrWmVVcCtDYTZmbzFBYXJXbDN3cmtR?= =?utf-8?B?L0NWTlU0SHBWNjVmN1NkbmxUVXF0NVYxcFZDY2pqUFdhL3kveDlROWlsZ1Rw?= =?utf-8?B?eWIwcnAvN1ZmQUhxZUo4ZGJJN1VZMlFiR2EzNnFSOHQ2NkNsb2doeWRWSmI1?= =?utf-8?B?UFFTRXhwWUg1MnRHTHpBdmtHMUJsMWMxS1lSSFB2RUVFbEFzTE1DWXdmYkNs?= =?utf-8?B?QTVlVmdqZE5pZ0FmNmhLa1JoUmVXY2c1bnZodDRBODFwQ1pCRm1ad0RQVk1T?= =?utf-8?B?SUVvcWtZcXQrOXk5VlRqSGhiVHY3TXREMjcwSW92R3pWeDI1QUY4dFR3L3hI?= =?utf-8?B?NjRFbEJyMVkwZG9tZnlDSm0rdGFXM0kwcnpFYi9ERnEvT1Z1T1lLRGhzSVNv?= =?utf-8?B?cng0d2pwNFlmWmFBQjdLRHFRYUY2YUVrSktzbHR5UHdVYityZEwyd2s3bE1z?= =?utf-8?B?ejhZN3RmN2Q1bUh2bFJSRXd2WHNWT3BXUWlPMUN3dEg1eXVVUllPR2JPTVZk?= =?utf-8?B?NmRRWWMxQlMxU0xKU2c2RkZiZnNqTzhxb01tNzVrbXhjTVVKS2RleWs2bjdI?= =?utf-8?B?U0d1NFlOb2NCRWdDREpWMzBFbmNPbGZJTjF6TmpmcC9RaG8yTzZkZUpINm44?= =?utf-8?B?cGh0MWs5eWR4TnN1UFlpa0ZBQVlwdi84SkpMWXphWDRyNklGN3Z2ME02Rzgv?= =?utf-8?B?U3JPYkc5ajlpVEtaS0NOSko3dGFkay9wV2kwbFVoclZNOXh6REkxYTByTmVB?= =?utf-8?B?dVo1UGN2M2hhQnAwSW9LT0N5bDNqcXNyTEN5dytkdWdMckZIN01ZSVdMV2t6?= =?utf-8?B?U3k2VXIySm9kWjROTFpwSUJkczBMRWNhbVhzbTIvMUNSK3hxNnlEczVubGJK?= =?utf-8?B?MENNSVZRaW9TNFA4U0pERGI2dGZCUW84b1QxNGdGSEpVc2xMdHZ4VXVXOElU?= =?utf-8?B?UVBodkFsbS9vWC90MzIvYllhcnd3VjRhcmRTaGZ6QTRYQkhCbTg0a3ArVjNn?= =?utf-8?B?YzF5a1F3OGNCSCtvVGRtN2J1S3owdlU0a2JubTJ2ckdiTU93VVVaMzFpdXV0?= =?utf-8?B?Q2ZONDlkeGlnRmVUYkxUdHpPYVIyS0JCci9BMUVNaFc5Y3Bxd1hUQnlXN1RK?= =?utf-8?B?c2gzWEdzb0pZM2Q0NHV5MWViWkFEZGxoaDhvb042d002TWZhVlEvK2NNMUtD?= =?utf-8?B?RzFxeFoyemR4ODltL1dmckdzblBUVVZYR3hvaWlCVVBScys1aFlTdEJIZlZa?= =?utf-8?B?NlNCNzI2WGhCOXAzMjNUalEwMkZIT3dFaCttSnVpWWJRSWIxR3cyT2tqTXBm?= =?utf-8?B?QlhMZXFPK1hYME9vTFh1cEg3WUJET002NzEvMlRmN25FTEV0dFM4ZmhyYUE5?= =?utf-8?B?eGJEOEV3OGM0MERtaFRQSklDazZXMStLUUx6d3Y0bGhXdFFVWjZIWjhUNlhQ?= =?utf-8?B?MHRjZW1WKysvZUpaM1NEZlRFY3FiMkg3QWJSemd1V1ROOFNUeHU1MTRTNFRK?= =?utf-8?B?czVrOHo5QXhVdmlKdUhnMWN4RjlwMGM1RVZ4UjNQOGFuNE5Ybjc2ZXFoSVV6?= =?utf-8?B?cTFHSHZ2eVkzZHZYVzFlZGwvT2o2dGhPRmRKclhTM3MrN2xiTzBwSndUUVFh?= =?utf-8?B?RDkxRnBoQ1owc21BV1ZlR1doam9WWGc2ZkIrZUF4MTczWXEyVUVnMk5SUlBE?= =?utf-8?B?NC9aK1duem9aOExsaW9tamJtbmd4UStscVlHYVF4N0VZRTlaSTBZM05IektM?= =?utf-8?B?V1ovTTJlVERsTzVsbUdBNzNXWDgyUWpFblhsL3FXUVdMR2FkbHhFalZtMGsz?= =?utf-8?Q?whPFsfocyAk6N?= 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)(1800799024)(376014)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a0p1MStGYm9PVmNZbTg5U1RoYk5SYmY5MTFuODV5WkJpZm1RWmVBOHowTlpa?= =?utf-8?B?S2pCNnZjc1JFRFdUV0xiNkUrOWFmS01tMVZoNzVrcU1EWUxURHR1Rjd4cXds?= =?utf-8?B?M29oZlRhK01iUVFadTc1L0x1VzErTmdobkNNZnh2U082OUJQc2NwSzdtelV6?= =?utf-8?B?RERyU2tNNmVYdVJldFlNbFErTFNkamgrUXkxaVk0OCs2dzF6UVBJQkkzOWMz?= =?utf-8?B?WHhZWHJSem9RTGxCWHIyN01OTTAxUmJZZmgxL3dGNlgxN0x5eVpCVlRBMW4x?= =?utf-8?B?YUIvNWxBandVOVlITVgrRVY4bVNBMUhTeE1ORi9pbk9VOHNFSlRrQnZ3TEpC?= =?utf-8?B?ckdTQUF2SUEvRno5YThNdHhiSm5qZnlLYms4SUlMMm9XbVZzNi9mUmIzSTZy?= =?utf-8?B?UjU5dU8vTzE2ZVlzazdnbGRnelcwUjZwSWNrNFhwUzN3VGcyZWgxbWJleVhU?= =?utf-8?B?WmtKUm1LSExjdVBVazBxZENXSTNMZkk5Vlo3R3NvNTBQV05wdFNSbktVTllT?= =?utf-8?B?WjZIUUh6MENBK3BaZlJDOVFDK0hBVFY4SnBSMTZaaU5xaFVhclYrSGtpWHYx?= =?utf-8?B?LzdoNmxhSUtSaHJlS2g4SU15b2FqUWtFRkU5SEJGTll5M0MxVHJlSEdiWGZQ?= =?utf-8?B?WDU2TVpVR2hhN1Y0cVFzVG9lcEpOYVhPQTVlYWwxYU5jNmdsZEpkN0QyRG1Z?= =?utf-8?B?STBDNitYS2pXRWpwcEVuREV1TUFOcS93dG02b0hZM3VLL2FHZHp3MGhMdWxo?= =?utf-8?B?MEExUWJGWTViR1BXeVF0ZkNVY25iQ3Z6WjZSVnNWV01Gb2tLOFZpcDh5WmVV?= =?utf-8?B?dzRIVjVaSk5hNmFJU2FFVkJCWFovNEFYQVpOcXoyc1FxMitublZaVnQ4RGJE?= =?utf-8?B?OGF5a3NrQTZCRDVkVWFzVTVyd0tpcHNsNjV5cDZZUkpVajZ4UXJoQWlJNTBq?= =?utf-8?B?eFNmTG8rNmlOVXRoKytXdC84UFFxS2pmT1lhUmxjSTlpM2ZyZHREMzRSdFlW?= =?utf-8?B?RFM2VGVjbnB3dFl3UlZuTjBDek96YTNHZkVROUJPckE5WDdrMGNyeUx0TnRF?= =?utf-8?B?N0VoV1NURmFFa1c3U3VYc2NURU9ISzFLd1N5ZklnRUVIeFQvUWN4cS9SRWR2?= =?utf-8?B?UTN1eGR0ZFBPbHMvbnloWUNNeUE2NWZrTitCd0ZPWnk3Nng0YmxpMjM4UFNp?= =?utf-8?B?N1l3SWhGTGd3Qnh3ZmpDTHUwMCtXakw4bGxjL05uWGFpUmNXUGRYWHdPZzZh?= =?utf-8?B?VjFyTDRjNFArZHVVa0JVbVdlL1lQVUVLbTcwdjVUUzc3L29VbjUxZGcwQWFy?= =?utf-8?B?YWgrRElXWXhwY1ZpQVc3UjJ5cmpYb3RGTkhHbVJ2aWhadGhRUVphZFlyQ045?= =?utf-8?B?SFYySENKUzJjQVAxaklTN3VocmhsNFd3aUxUZWZPOEhmMC8wNWF3RWxJYU90?= =?utf-8?B?eE1salpDcldLakdkWStSZCtuRHFwcVBsdFUzZHh6MVdxdzlpKy9QcndNMk8z?= =?utf-8?B?WlArMkxLMTFDWlNjcjJSaXhBMHBtSnJ0OVRndjl4ek9MYnlMcE15Z28veG5i?= =?utf-8?B?NVFvWFp4aDgrYlI1WWhDa2xlcnk1enVQbC9mSlhneGdRSjRNTU50Y1lKYzBT?= =?utf-8?B?eGh4TEl5Uzh1YlJ4N2RZWHJrcGpkT1YwOUR1UTI3ei9CbktFVnlJMnlFTW1r?= =?utf-8?B?WHZ6U0hIZDBWNk9vSmFiSnFXQTM5Z0hXUlYwbm12SXFJYytQZ2ZVVmtmS1lF?= =?utf-8?B?RUVHaW5CQW50anp5eXRBMTVFRWM5OURCTVlJdjhXMmFOV2owZUxNWXpYN2g4?= =?utf-8?B?amVmc0FQR3BVVkUzNGZjczdHMEVJRElwVXg5bWFmYmFaQ2dBbWVqOTZMaTdD?= =?utf-8?B?T0REd0ROb2dkSElWNEZnWndMb0dqVjRrYzBxS1BLbXVTNVk5THVNbkVzUEVS?= =?utf-8?B?YzNzWWlPQmF0R2ZIcGFuVnFvdCt1MDdiVUJTR0syem1rTThVQ0lKa0RJekJs?= =?utf-8?B?bCtwTUZIL3NMQ2NXb2ZXcnc4L2xMaUdvSlhLb01vdG5wUmpDVCtDbkYxNzNk?= =?utf-8?B?THo0QWFRRDZ4aVFqR08xd1J3NkczcnIwVkRDdmFHbDkyM0RlOUF3Nm9PeEgv?= =?utf-8?Q?IrQa0HamB25g1MsRutlxAddDo?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82c766a2-94f9-41cb-d5d8-08dd707257b6 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 16:37:36.7200 (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: kXhVEMjjpS8xUaxnQk3NLf+sBqHPyMx/Ra0vAoQK3fzuZ/ozUNQTdP920bNT5knK X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7028 X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 8D14020014 X-Stat-Signature: pc1jxykxuw93hs535xasxsqiuz5wr9sa X-HE-Tag: 1743439060-483316 X-HE-Meta: U2FsdGVkX19Vraozaa52rsL3FGigjjZoi+fR35TTEYew2qr9CMR5IImWCM9L1fWMqoV8rpPUl7qIbvAsOcl7IeJCHmXSrgH45IJ3WYE1pGfIUQq8s44+4DWFphgYVeJ88eKOFdXV89K3ccroG/xjBshUdpmLN4Yvc0DlXqcTBQF6DOw7WQl/zS1GqjcuUK3pdG6iMk3v/SXYUrAi0omwAqHvVbb+AMNSqIxWnJBuJEbH5mtXlYie4DATNvJ05vBwQK0eUTYNKGK17FlC3qTWek9DFFV1fDi+LirtXew2Xg1OVAxuW57BZS0UTVS2Ik+vH9pO6DrSGSMloYLF0TUjN3fmMPe3glzkB1WwGH3paU0Y7/95ssg9qAJFLSTW1lfUAQPyp+Tbx7kr2nVta7UOexqyP7kbuEY5hSxnvYLogjo5ig0Dxa4jSlyCR2ZYoM97/lkQ+jumcpsClvDihuM2gJwCg++ISLGIV+Kkw+gOoQVBFa4iSmrDsa9TUP/LoMh5JK/n2fm6UPuaf/t1uxV6rsQaeZsU6puuljYf0+5k66nuXAD7cuvKwyrN5I4T4+Kw9y0BGGCbtUah6WCYK3TMrQLXCuTBbzKNHldvCxqqs483DyQRETPqXi5NKPNOjY7YnVf78jEgAyrWV8atwVAFAosYDmz5TmZpEP7vCW00TwxOgqdvSbO+3cfqaM2LtdvWAe4J/IH+K4ALvnPhok1N5Qcb+1TVDITgJ/KgwSpqv21KtzBgx5J1oLqmFGb124LLZpab7/80dSWve13WU37tx8bsHNMaY2Ay75TgbPqG+4/HhUrk3n6CTZPS/EDFOC/ZZQ6cBfPPy9XlA6FXURGCjhO4vmvv0KU0fRhl1RVrebwhUPcTLIH/eXRzCuFRwwff1iJ3jqY8cagpR8e1XL22GfCJq+ToabWV5OMyj4MK1kLFErOIXfSU1anMGS609KZde9U3+3YJjycX1k5v/K7 pIJe5m37 roEtv9Ngej9OZAR0ZgcauM/ynBMF0Bum8aU4pa5C68b3sEM3fv4Zzt+r4mY409Ca8rWU3DzLZM6I3G6rJH0a4P5kredx00bc1BkM85bqD9IXdVswMIgvX3kIT4Olr16DsGZo/QQJOnFUl8wJM9A96BUbRVT2i98jbTA2AAdkf6DD+5Tfm/tOmQm8lo5xcG70LMlMBIL8eZe6cr9Lwm7oDNd1ZqmCb+3IHDA8w+dbIMaM3x4IChCEceKEjBeP3V6TxuBzUXPvMLxZz3qkl4UJveHxMyHqnm4iM85KMKXAYxtyLD5s4WLU9KxXicnMQoh1EtB7gL4UMXDAQ1YH8+VzCJvm+1cQ8Az0F8c760aqJ1w5/SXEerBWhPCQxyn3O1NfEOb9qJb29gq61v/rEY1+hIKsJa+YzHRhk9TifZbzynQ3JE0Gm8HI6yJHWc2lMRzUEAMkJjAUdHXvTW+INwywsfHCu9lIP+behVyS01bFvEt9DTRsntVHMCE596dAQ+x/LiVlyRjbmYpAG0GoiyXNT4jY/k7ETsXmfXXTWlZcrGuYkvDUwWS78rNbGX0B40t80QEjQgEXA8tsC3+jmN82/cl4+REDuZTsOf221 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000793, 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 Thu, Mar 27, 2025 at 03:29:18PM -0400, Pasha Tatashin wrote: > Here’s a summary of the planned approach: > > 1. Unified Location: LUO will be moved under misc/liveupdate/ to house > the consolidated functionality. It make sense to me, and I prefer all this live update stuff be as isolated and "side car" as possible to keep the normal kernel flow simple.. > 2. User Interfaces: A primary character device (/dev/liveupdate) > utilizing an ioctl interface for control operations. (An initial draft > of this interface is available here: > https://raw.githubusercontent.com/soleen/linux/refs/heads/luo/rfc-v2.1/include/uapi/linux/liveupdate.h) That looks like a pretty comprehensive view I'd probably nitpick some things but nothing fundamental.. You *may* want to look at drivers/fwctl/main.c around fwctl_fops_ioctl for some thoughts on how to structure an ioctl implementation to be safely extensible. You can even just copy that stuff, I copied it already from iommufd.. Little confusing how you imagine to use UNPRESERVE_XX, EVENT_CANCEL and close() as various error handling strategies? Especially depending on how we are able to "freeze" a file descriptor. > An optional sysfs interface will allow userspace applications to > monitor the LUO's state and react appropriately. e.g. allows SystemD > to load different services during different live update states. Make sense, systemd works alot better with a sysfs file for knowing if the boot is a kexec live update boot or not. Though I don't know why you'd keep /sys/kernel/liveupdate/prepare and others ? It seems really weird that something would be able to safely sequence the update but not have access to the FD? > 3. Dependency Management: The viability of preserving a specific > resource (file, device) will be checked when it initially requests > participation. > However, the actual dependencies will only be pulled and the final > ordered list assembled during the prepare phase. This avoids the churn > of repeatedly adding/removing dependencies as individual components > register. Maybe, will have to see how the code works out in practice with real implementations. I did not imagine having a full "unprepare" idea since that significantly complicates everything. close() would just nuke everything. > struct liveupdate_fs_handle { > struct list_head liveupdate_entry; Don't mix data and const function pointers.. > int (*prepare)(struct file *filp, void *preserve_page, ...); // Callback during prepare phase > int (*reboot)(struct file *filp, void *preserve_page,...); // Callback during reboot phase > void (*finish)(struct file *filp, void *preserve_page,...); // Callback after successful update to do state clean-up > void (*cancel)(struct file *filp, void *preserve_page,...); // Callback if prepare/reboot is cancelled > }; But it makes sense over all > Preserved File Descriptors (e.g., memfd, kvmfd, iommufd, vfiofd) > Preserved Devices (ordered appropriately, leaves-to-root) I think because of the cyclic ordering between kvm/iommu/vfio it may become a bit complicated. You will want LIVEUPDATE_IOCTL_FD_PRESERVE to not check dependencies but leave some kind of placeholder so the cycles can be broken. > Global State Components You may need a LIVEUPDATE_IOCTL_GLOBAL_PRESERVE as well to select these? Jason