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 F16B9C3ABB2 for ; Wed, 28 May 2025 09:58:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 796E06B008A; Wed, 28 May 2025 05:58:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 76DD36B008C; Wed, 28 May 2025 05:58:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 635BA6B0092; Wed, 28 May 2025 05:58:44 -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 410686B008A for ; Wed, 28 May 2025 05:58:44 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EC8B51A0724 for ; Wed, 28 May 2025 09:58:43 +0000 (UTC) X-FDA: 83491867326.13.FB7FE0C Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by imf21.hostedemail.com (Postfix) with ESMTP id 74FFC1C000C for ; Wed, 28 May 2025 09:58:39 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IpGfwTVM; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf21.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748426320; h=from:from:sender:reply-to: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=Tn6qdLfu5oTJ5Nl7UJfA3biKwyqBFmdxoh1t/k9LdAc=; b=eobKQkLEMcQKwLRyuwipewUML6ZX3CC1yA4eQzVAoXcznCBPvwKSOzKvFByJ/TFdQHSaa6 zGy6Twc5EMrZz7rl5HPpO9VXLESddQSqASAk+ygctPpLuUMws35UkG8lRzSZXbnlcq3W7w ueYYt8sC+KcQQLeKbEMaM/GdRgGe07Y= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IpGfwTVM; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf21.hostedemail.com: domain of yan.y.zhao@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1748426320; a=rsa-sha256; cv=fail; b=NLfv221fuL4RYe3UK4ca/ezmarhuQbr1bCqBfGbHP9721O4mx7lAxyjKv1Fq+TMMRitMSs zVweJFrKYcXr0Q7GeP/XIq4LOalocvN9f4xa6amMG3BwiQclYSH272ZFJBeFhYpEzlymT0 XqMoLesZz4h4R+4VeTBIFRaMTBECzYg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1748426320; x=1779962320; h=date:from:to:cc:subject:message-id:reply-to:references: in-reply-to:mime-version; bh=VHwHQE89svsPeeXSEr5QfqCHQquxLhs6Vr1iRtnsqOo=; b=IpGfwTVMIIf+Vb4tWmx3jVlcc5dRzE1atggbYHdSMIe5Fp9pxvYFmtE5 je9MbOXq7W/+US6smMHGfQU28P8diNHC6QGG96rXJE/Ipft20m/BH/4Az pvZcM7i6cwrT4VQImmU54GhhpCkf6VoiVLQKSeg1Xoucodd65jR8ZGQ1n PbrfYFS8JM87PaoJqDc//q90AAfx9g5deHpx1RVUGvN87bm9IRhf8vV66 lqr1z9Pd3onjNmLuzzBdCjj3bD/sBp4MlsEM9jJnSofCwGRma+hzIFI/b LWdJRZgv+8cm634UyH9PNnG9AQoPZsAGUQSbLt2Obx8YctbtviVr88CVc Q==; X-CSE-ConnectionGUID: KXcZ9SsgTeuvXNsy/aIg3w== X-CSE-MsgGUID: pxMvX655TWOOsN9N8IUX9A== X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61103938" X-IronPort-AV: E=Sophos;i="6.15,320,1739865600"; d="scan'208";a="61103938" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:58:37 -0700 X-CSE-ConnectionGUID: yC/Cio7kTEui9jDPYIGlzQ== X-CSE-MsgGUID: Fa5m9SdOSLaBk4qvs1vcSw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,320,1739865600"; d="scan'208";a="174080527" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:58:35 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.25; Wed, 28 May 2025 02:58:35 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 02:58:35 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.84) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.55; Wed, 28 May 2025 02:58:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rLYwMqNyxKGuASAmwJ5v939u1/l0LALkiPzWXHtDifmoOLzO3vljFLJIbSBtu6Giv2paH4DaPITMJ20ZXO2ycPVRGWcBHGwTlSLVR/3YUJUP7gKFow5t0Wq4iidFOPlw/ybALlRkc6mVFKL670mDSJQpuvHelhWdhQRaYgUmnWMxZRvaRKUJ3T4J/txX1WYEqvBbEaSM0gF/vNI5pQzZucdor7CxguDYRlMKeCzfKBnbSDS92MhciMYtIaDE5vn0EaIrEcOeK/m3wqozwWFiZPUgOGLnmpLeqMxz7neE6GADQS3+CquTBxD7RlbMbOCfXHoUKLVB17aEDwQiXOeXWA== 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=Tn6qdLfu5oTJ5Nl7UJfA3biKwyqBFmdxoh1t/k9LdAc=; b=bp0ItDRm6E0lyhHcoxIPOt1NTBHbbWqzyFoAJ00bxe+xDbtbDq7njXq9Cx+GE90/W2NHERNUjyLav7C8Hqo2fxAewbYddf9NF9mNFFxx/SprgSpDyPt1srXfOoNxDPPcwIK/QFelZsL523RGg7U7EreANSIrfK7qks5UnZBh97I9Cr26K81CNsSGSz2KZ1Z4DtZDVYFv1pLpi2spy/IDAJeF6uF8oDlFpxik0GBVwqKXEWcVC+2a3y7gvq8c59TSB6mKHPNNBd+KLpoA0QqPsfB+p5s5389O4B6iXgvnj642h7zB9or8F5as8BgPsG7D9W6czW+HMabEQwsZJJqObQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by CY8PR11MB7313.namprd11.prod.outlook.com (2603:10b6:930:9c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May 2025 09:58:04 +0000 Received: from DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::e971:d8f4:66c4:12ca%2]) with mapi id 15.20.8769.021; Wed, 28 May 2025 09:58:03 +0000 Date: Wed, 28 May 2025 17:55:26 +0800 From: Yan Zhao To: Binbin Wu CC: Ackerley Tng , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC PATCH v2 06/51] KVM: Query guest_memfd for private/shared status Message-ID: Reply-To: Yan Zhao References: <237590b163506821120734a0c8aad95d9c7ef299.1747264138.git.ackerleytng@google.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: KU0P306CA0038.MYSP306.PROD.OUTLOOK.COM (2603:1096:d10:29::19) To DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|CY8PR11MB7313:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ff94a4a-910b-4813-0564-08dd9dce230e X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7/E1i+nhRMTbC2wKJ+K6wIeWtJGhPAfSVSjjwhVecamHcXabAZ+YILBgiAMU?= =?us-ascii?Q?eerSgYWiHtM26uRr1ybcuLWnp6hVJ9LmmU2NbwUJUUV0BvDrv2xgzYqfRNT0?= =?us-ascii?Q?c9lVfzvpyljJxcWBN/VFokPlOs46/e0eYzWcid8K0OoXK71tk8ULWqdbahbA?= =?us-ascii?Q?Gybd9LQf8dFoR6ggIDTW8CHoPFOm+o3meG+lP6fIcEib4bAnbg33dwJmNqF/?= =?us-ascii?Q?aELEUewsJyWHg+0oIHrPrVv7mmAfKK4cfsUw+07Yejo54aMdFgl3kadUnzK+?= =?us-ascii?Q?YzXcW95KaaPWhJXNO67V4Owv+GXw5fsJ1PcldefCJh+jvOh1jdreXMpC0jgF?= =?us-ascii?Q?1MqPtaD7FG8J1DPlODjuHRY9LKOFkoYYVxIvdO4V7S73fnGvN/MHE5NqBfc9?= =?us-ascii?Q?+3kvfxmuwBzpPNvJNlzyOGNC930N61UofOEuWNbLnk4D9Jf8od5yc9pYuBOy?= =?us-ascii?Q?6fDVKFz1CDOGAXRGSrWdCBnLO/Qgiy38gd0/16JDDQT20cIRWRYSgz6oHH2d?= =?us-ascii?Q?+wdJQlT53+h4qSXZ8G3k+unTv0zpZhVYm2wRHBffZDWMJblLyR+Jp8s3JMru?= =?us-ascii?Q?k9suU95GNKzk8kBzdasu5N+JmngHu6w/xIarBsd2oIZVRK3CBpnIXFJ66DO2?= =?us-ascii?Q?q2Jg00aOkyJGCU2AvUVFMMEZbQcd35qTbuvqk4LkWU7Kahx4Y10rOx826iye?= =?us-ascii?Q?8KwlGdQKk2L70jipZd6Shn5AzHBr/G+uIJXnJArc2y1KbCgL4hEqrSYtqFoM?= =?us-ascii?Q?a+J1qAN2ZiZcCFyP4P3mIhvCLduM5ZrZsZc/dDHQfTpn7UfKnS0pa5b4p9TF?= =?us-ascii?Q?6ZIQmInkBuxN8njsFC/VVg6lLpIcuRGxUQq9gghmNXDUH+exy2VDzEKzPcu4?= =?us-ascii?Q?AX9uFpF/KCuoE2chyj+v05RdVbwBGsblJODX8zwMWf0TenHUBW1nAf21fijL?= =?us-ascii?Q?PUYb7KRttYNWJApaw/MUZgGZ29mit9WopRTEX/Hbjcw1U7RscaVKiQwVtsYX?= =?us-ascii?Q?GiurJMz3WwBcf5It5GERYMPPAlsrT8L/kRBzPz/V4WtEdU4/xj+UrEVLEJus?= =?us-ascii?Q?kX/SvL2aj1IC7yrguxkvXKuZka9pe7hDsv+JW03/UcDYVPCZrcXUL9yMU8Z2?= =?us-ascii?Q?0Y+a+NIsK4/tTL3ImQnrLxjNYph2VZaYP+IFUPSBCMUPYsRazs0XmVFDzKEU?= =?us-ascii?Q?1Qh5NRsFono86dABtI+IL0SqLW8TEWVAd66/3f/XRjUhJ56LUjbSOe/fkRa1?= =?us-ascii?Q?AcY1zXlJFOomdGuMUvWwOEB8LzKK813irPbFH1J0Ajnm7KXZ7C4CWtAEBkjT?= =?us-ascii?Q?P04qPvVeXpNsJWTRVPwLDiSfOSECi2Q8452yuRVGdM1G+NIpEcL1W3HOmNzy?= =?us-ascii?Q?OOeR/LztvZopiyLLRyoa+WFsmH+2gCDUwAKUy7DS4eEwg7nH1jururk4fobE?= =?us-ascii?Q?tnMKVCA9JIQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?54wwwpabmxaRFUylgVqKmlGRxgduUhWE2dtufLeCiY42F5rdjMWAWn6MbPe+?= =?us-ascii?Q?AS9Eyt332KvInhOt4jRZnfjxhknlhxctDoaQiHItgC8refllohDy4NcP1fV1?= =?us-ascii?Q?Ic/MthpE3zOgsuYj9ConEbuK7VLQepLmHIpcwm3N3MEt1Ws9lZcnbXsoFHzh?= =?us-ascii?Q?wqb+N/dxH4WQsQG9on9Jy03IWhWM7GjEcok+tOqfjIBkRWDR314hyVjs68/U?= =?us-ascii?Q?+y9FV4UrIibRp+tDLWLs76UmLgEHhVfqpdw6EQ+BHHEodX7AX815YtMygj7C?= =?us-ascii?Q?FhAvXppw5Hp+W+nTNDCdQsYq/Ubdu3k5kJCad6EIxDaCQJ9Aet7lv4us37Xn?= =?us-ascii?Q?Khl6HS1ifY1BRHv7g0Zg+NObaABNTbiLbVjo7W/MeKvBRNlGFptZA3/IC8nA?= =?us-ascii?Q?BJemLqZcr2Wv/RDNHJyW25efS4LjSax6Y9FWrhriWbRYzHlC8AVVSOey1MaV?= =?us-ascii?Q?JCLdHSkl2xxPI4Mheqf26Ct6h2zFTXu77gqU3K4MKi4+mHFnPSvCnGs5OtY3?= =?us-ascii?Q?UgJgyKNHFtv073eME3jpDkOmjGbdFMhFydHF45tpm3dguIcOrO0nzNnt2APj?= =?us-ascii?Q?7fsKZ6uwSJotVphtXxVQRARg0z0YZ32wz2kqgeCqMEHE8JXPOScb+Qqm+QfH?= =?us-ascii?Q?zjThCm0l8YCjbcerDpziEVQ4U7SefFCOxfJoWbhzHcjwQdDKcdkjIwNwC3Ou?= =?us-ascii?Q?fuhAjttYklSNiCQJ7mlx5gUIsg/RbbSQhSv1LZS+F+P0Mo7Vbfnd879onsnb?= =?us-ascii?Q?+UXuNUp7TfKifi9Bax84SveadeUgZmjODbDVSIhmzdrt6QKrhovZCOly8kbm?= =?us-ascii?Q?yfZXRJSImdFeFnh3mL2dtybKznSrsQ6MCENKH53lnBg/4ynpKaU09p8ElNPU?= =?us-ascii?Q?CT3L6+zDGfU8/xlp6fbs98yZDKN4iZN5QQmxKVbELlqKxuO+BobY3J26O4sL?= =?us-ascii?Q?hHeH8NHZ4+U3J4ZDiXzYGBMzQuX13i74+4U+SBSLxtTW/B2OV48sDtsqklEE?= =?us-ascii?Q?vIRDLao1TDwGauoXgIXy9skiDday5Dmplh0ETX0/osBQxSLdMgKlPClbDrEA?= =?us-ascii?Q?g63mFFIl3MUwR09G56ZtZYf+M/+98j60/XyD9TjJmrIx6lMe3W8VFH92ubxo?= =?us-ascii?Q?F9NPKFTFmghLRfOtjZficqzs4vUz8gP1F85vswo3bFgj02GWOxx6vbEk51v/?= =?us-ascii?Q?bbUhOk87etvhVJJTqkhNCGJntBG3Xhu2nPMI3wfDLy50tkQMicdtWsp/A5sm?= =?us-ascii?Q?TSWGIVBZ4QJFKA5weVexnuI5/p1odV5EpfgzlOm1g1MRONw9mpPSYkA4uM4D?= =?us-ascii?Q?9bdCUBE+y2nN57dfC3LDDtRIUS8DT8ilrH/12gFpFQXVVxPJ9GardP60jRo+?= =?us-ascii?Q?ZLfBRcNcGh/BcZA9LRiW0rLXmV2yIFrckH/0AZJJB3C5J+SMpDp03aa5yWEh?= =?us-ascii?Q?k2YvlaVJ+qTY2/RGVIp3dgeNqTuZDb5TN19btEj+f61KyFBhiBXb0ea8rkbQ?= =?us-ascii?Q?3dif8ZaHpliEe3lipUcYL4QbYkVwH3BiuBBKgcH6gmOexYvcqlBhPqfSAASG?= =?us-ascii?Q?Ew0oAxg6jB5pHaeJZCIypXpsPQBDRcrlRVF8c6J1?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5ff94a4a-910b-4813-0564-08dd9dce230e X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:58:03.5175 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3OM8XiBtxsG/AJpVsMecLYoOp4XceDr7VtmJcTPWn6/9caNIb15HHvaXLOOei8ksB3uDT49Lcs3vCTRF6lPWjA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7313 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 74FFC1C000C X-Stat-Signature: 39fxhh3t3fxkw471rwmdyz6pdxb4geaj X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1748426319-542055 X-HE-Meta: U2FsdGVkX1+wl7phTwZ5+XTPr/LvxVc5YWQrs3frJabLS0rJ0/wlIv928dYJ564r95QiKiO78MJ7bfrReTKKE+rNTh+NNPMkNoKuvlxT0OpHlPqTdB2fSQ345vOze7yil/7sGJruWANIJLjvC/McL+QWKFbmL/6Ti+vkVW7STMNQsS7ZAM69BLI5c/DDcl11dT1wQGDBByx1u3UGBdlkCshfo/WCeQg4cLIf49KeG5nYpZdXFVXfWZfmHxHYlla/vwce0POk6y+Gy4TwQjy67h4dRv/L8r6YbmmIC0T9x4CiHBfJK1q7wUX1M/VktZ4O9sb2TkvbkamQLbfrArOSSASx/4N/xvJMaih8I515/Kfwf8TtHQrWjmegn5aWXtv8EOdQdovGFgJTUuA62Fxu/XnFIGV4QiLOANt7MTKsrnYSgDYow3stbXy0/WwgZ5FBNfFHdNUD2H0C8qLZnXuraKo0rI7a5bDc8ebu/ZKiTP5AX2o0f5Goluz+xVNpC8aBHol/HJKl8NFn2oD58fnn/ECjD9BUVDyOHRxM3bKOv/iDhSaz7vKj61Ae21qTuKHhYTSTEVJmGheKic1S2cfioXpCw9lJFQ6MlrHWFpDkZ+ZGfT+rHN+KPwG3JD5w8yL6zrbdUr7yvotgDlWRGyOs5cVM/UEMKwxRZHEkHkr/H5wD/uZAznP3sJ+AEpbjlFzQ7ktIU/2MMMT2zcr1BJEqn2F43qNZUU7BuGif0FmU9t4QvaYwz/Qm+Gqx3vK1+SGJ3miAJoqQDfF9Jt9lPa/n4ex76Ri4KGdPTiMhmgBiw6VjGxnShTzlzD2o7CqSORNfCQV+SqEIYg2m8zIRcXi2nr/mODfNiWegD9rKf+T7+zKmrNInv6GdmtkDrMxjoiCD76PtzqGcFR3bcxZT0eTOJoyadb9YlcgHevK4LDNYlxEG7qcToHGrhBTFtDNWAV9K2m8JsaLJFOwT/0xDCuR kXEGgeQ1 BSyIy9QvOwMI3VzfdKNJjSTYJLm6hpVloHBc33hDdeZ3uBs6vGl6dpHItO2cpg3gQiZcuz2C6D2VJVUcjh36zSYapwsXzYxObnhfxdPcipj0GorM9KeXCV9y0vUnEwdC4m/FicM2vszAg9pPDj9HAZmR8YsgRwDOwY/UQ7cUzK1VOOKLoM7r1Ccs9HCqoCLI14NfQnGchLpqTaEf5CHmY4f2Y+hT/mDvkW1a6YYwrpcgz2DSIlBOMaA4WzZGhdjfJhlExfYcwwL2gQRe4crbuoRJn62frNL59bWyE01XtCeUjRoze3mjrW4B0KB0Yb9k7TweO313skN9xc2iodhsRBCk//xgOD72e6hCsZpmUdlDSltLrooXl/lsKDZ6DJYH4wxrUijkq8CiluZk4COvd9TOLTd6r4lMmZPJddQ+z/IlehaHmKuIKxC4v9hHQlpAjjWze5oTxG4Y+m4vNZvwzTS4/ZtWdVq9ARZnB8taRp1iBXYjFGxLy5dBo8s8G3m+ynb6ZmGUoXa+rEBMISSWVcVn36nhneVwvfGSvD8qpYaKbDlVzdWz7Mh5zI5mgbMY/U8sUcT3HW3jKsFaUYxz3AzpOKK8ubyotMS6xkriJq0ATkswJSJMalw/GuDpvLgRbSaQITIG9i7RK1QGahKeD5n8mUv0B8P387e99mDDnuGmEnz/1kwtMnkEUORdnyj2ZwspU8IyS9Snii+RweqVa9LHJ7/V0nCJ0rYz9TPxc78hdf+D2mfs33q0rp8xogRuSrO+maQN4UVJiUBw= 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 Wed, May 28, 2025 at 04:08:34PM +0800, Binbin Wu wrote: > > > On 5/27/2025 11:55 AM, Yan Zhao wrote: > > On Wed, May 14, 2025 at 04:41:45PM -0700, Ackerley Tng wrote: > > > Query guest_memfd for private/shared status if those guest_memfds > > > track private/shared status. > > > > > > With this patch, Coco VMs can use guest_memfd for both shared and > > > private memory. If Coco VMs choose to use guest_memfd for both > > > shared and private memory, by creating guest_memfd with the > > > GUEST_MEMFD_FLAG_SUPPORT_SHARED flag, guest_memfd will be used to > > > provide the private/shared status of the memory, instead of > > > kvm->mem_attr_array. > > > > > > Change-Id: I8f23d7995c12242aa4e09ccf5ec19360e9c9ed83 > > > Signed-off-by: Ackerley Tng > > > --- > > > include/linux/kvm_host.h | 19 ++++++++++++------- > > > virt/kvm/guest_memfd.c | 22 ++++++++++++++++++++++ > > > 2 files changed, 34 insertions(+), 7 deletions(-) > > > > > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > > > index b317392453a5..91279e05e010 100644 > > > --- a/include/linux/kvm_host.h > > > +++ b/include/linux/kvm_host.h > > > @@ -2508,12 +2508,22 @@ static inline void kvm_prepare_memory_fault_exit(struct kvm_vcpu *vcpu, > > > } > > > #ifdef CONFIG_KVM_GMEM_SHARED_MEM > > > + > > > bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot); > > > +bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn); > > > + > > > #else > > > + > > > static inline bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot) > > > { > > > return false; > > > } > > > + > > > +static inline bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn) > > > +{ > > > + return false; > > > +} > > > + > > > #endif /* CONFIG_KVM_GMEM_SHARED_MEM */ > > > #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES > > > @@ -2544,13 +2554,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > > > return false; > > > slot = gfn_to_memslot(kvm, gfn); > > > - if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) { > > > - /* > > > - * For now, memslots only support in-place shared memory if the > > > - * host is allowed to mmap memory (i.e., non-Coco VMs). > > > - */ > > > - return false; > > > - } > > > + if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) > > > + return kvm_gmem_is_private(slot, gfn); > > When userspace gets an exit reason KVM_EXIT_MEMORY_FAULT, looks it needs to > > update both KVM memory attribute and gmem shareability, via two separate ioctls? > IIUC, when userspace sets flag GUEST_MEMFD_FLAG_SUPPORT_SHARED to create the > guest_memfd, the check for memory attribute will go through the guest_memfd way, > the information in kvm->mem_attr_array will not be used. > > So if userspace sets GUEST_MEMFD_FLAG_SUPPORT_SHARED, it uses > KVM_GMEM_CONVERT_SHARED/PRIVATE to update gmem shareability. > If userspace doesn't set GUEST_MEMFD_FLAG_SUPPORT_SHARED, it still uses > KVM_SET_MEMORY_ATTRIBUTES to update KVM memory attribute tracking. Ok, so the user needs to search the memory region and guest_memfd to choose the right ioctl. For slots with guest_memfd of flag GUEST_MEMFD_FLAG_SUPPORT_SHARED, the KVM_LPAGE_MIXED_FLAG bit in the lpage_info cannot reflect the truth and a false value there may also prevent KVM from installing a huge page. > > > > > > > return kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE; > > > } > >