From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) (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 71F872C026D for ; Fri, 24 Oct 2025 19:40:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.17 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761334843; cv=fail; b=BHIQTDXcArBzSncbW+92cs3N7df1fX4c5hcPQY6g9728V9DdD+/2fd6HdIBhICreVyJu+1qxsOA77+BhX/tZexpD0kiPHGlDwqd6j6Ex5rHf4Bld/Uhw2kGymsB0xsGHqwa0UDmAa7lVtO/XbUsRs509LFKrsnYpkr8qEAZw/5c= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761334843; c=relaxed/simple; bh=PN/1oyENSiawx+hJazikecbWMaFg16p9iz+0bAD8xiY=; h=From:Date:To:CC:Message-ID:In-Reply-To:References:Subject: Content-Type:MIME-Version; b=WGUWOZAH070YXhOpHotC5CoLBLw3V25tHBMu+Rt2U8Cg3++7nX5vt2V8+sv6MoUIZqkiR8xKN/OyhHEZiGmRYGpcANHDgmgviNdjd9DnCFdY6QAvGZrTeecfXUvtBjfcJjNAClX14VrlelMx93/4g0IuEAUhbPwKziIjyjcReK8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=QCedEvaO; arc=fail smtp.client-ip=198.175.65.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="QCedEvaO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1761334841; x=1792870841; h=from:date:to:cc:message-id:in-reply-to:references: subject:content-transfer-encoding:mime-version; bh=PN/1oyENSiawx+hJazikecbWMaFg16p9iz+0bAD8xiY=; b=QCedEvaO9aC0YaaFs0HVyhAOU+nr7dBd+gbJmRzaRLqmazDRPOy/j+wB o6gz/ecXsyy7Yl/MqkeTZlGl1h7cHrhlilBUQVAo9s4vw2UoOTS81orGc PDgVq6UIWWbtNfntpKoVH4u8VG21Xzx2cDtp60QUMc2VmZPUqsGOQaRs1 fcApX58WUK1b7Zv0tB4bOYolX611XrWlr7yuajsz+q4Nenm80plfgccYX 5faZjg8rWTBVEyU9NTO8NhIeYT9Ss9GjGUp8nMV7cwfLZX90/kQtWUuWs UC6LBOUZgL8HqhOE5k/FBK2ksuh+bm568XSOeN3s9uZnQd/javxi4tKKn A==; X-CSE-ConnectionGUID: pCDavKYfQ4CjX4VDunoHMw== X-CSE-MsgGUID: dCqku6swRZeAkQX+M84VmA== X-IronPort-AV: E=McAfee;i="6800,10657,11531"; a="63445897" X-IronPort-AV: E=Sophos;i="6.17,312,1747724400"; d="scan'208";a="63445897" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2025 12:40:41 -0700 X-CSE-ConnectionGUID: 5sGvCPs6SJe1yQTBDQqM9g== X-CSE-MsgGUID: w3gYfnz1Rzy6zJJcv2D86w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.19,253,1754982000"; d="scan'208";a="188569355" Received: from fmsmsx903.amr.corp.intel.com ([10.18.126.92]) by orviesa003.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2025 12:40:41 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Fri, 24 Oct 2025 12:40:40 -0700 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Fri, 24 Oct 2025 12:40:40 -0700 Received: from CH4PR04CU002.outbound.protection.outlook.com (40.107.201.67) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Fri, 24 Oct 2025 12:40:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aW7x9CpvgtMi3NtlTCSVElnl5Vzmy6kVx1yqhncZR98FnertE7x9bN1Cb6VY7furwIdqi0lB3iuLLIIGa2wCxWzKSa05F/LvEMhIe9Hg3Z/DBC/j3pJ4otvWNt7EqelwZfkGZu3StY1fK8PS0Q0IF3kR9O/vZ0NZjClpS+Y5xw0D+Bxit5rTgvqnXS2aBsObnMrZ/pYloVyKBAuILWJANomkkgOTRaCEHXxT7zRy6wkSlytvVKwJ/jxixVAb0p4nztEAry0q1VxGmWAwOoqHinLiNahNAsy73JfX70QrC4DRyztJO/zgKtGIvhcvFsjb6DI/8x8UgKOF8XyuVX1RyA== 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=UwqBtAf3nBDdp+T5IT5SJVD+owQS44gZnyJu0gN1SUk=; b=D+DAEyXaxF14zDBSqrV8C1Ih68O6nz9ycjv+qrgz2gHIDbwAbVT3UmT/HpArMXs64pQlFDks6n1r32k9HqLYW1TFVDCjuOkVE0ixF1+a2xfDV4Pz5kmspnEb0ekyN6lBGerUhfyQZ7HMqVevX75IQykWrp2StuWBTj67e40B2Odh1QVHQRWLXqSWf0RK4Knyh4Z2LtKoEb1tEpDtrHKOefN61AM0Ha3Q1VdFb77dTApX7ITbj12eQDO+I96Do4lhO3ehIF6dIcm8ruB/i4L99CFrWJE7i10BaKX9LVZYT6i9TyVAiRi3Pn5YiXCIXt++vgz89iJspgqb3YF5VKAv3g== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by DM4PR11MB5309.namprd11.prod.outlook.com (2603:10b6:5:390::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct 2025 19:40:37 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025 19:40:37 +0000 From: Date: Fri, 24 Oct 2025 12:40:36 -0700 To: Dave Hansen , Chao Gao CC: Vishal Annapurve , "Reshetova, Elena" , "linux-coco@lists.linux.dev" , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "Chatre, Reinette" , "Weiny, Ira" , "Huang, Kai" , "Williams, Dan J" , "yilun.xu@linux.intel.com" , "sagis@google.com" , "paulmck@kernel.org" , "nik.borisov@suse.com" , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Ingo Molnar , "Kirill A. Shutemov" , Paolo Bonzini , "Edgecombe, Rick P" , Thomas Gleixner Message-ID: <68fbd63450c7c_10e910021@dwillia2-mobl4.notmuch> In-Reply-To: References: <5b4c2bb3-cfde-4559-a59d-0ff9f2a250b4@intel.com> Subject: Re: [PATCH v2 00/21] Runtime TDX Module update support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR05CA0173.namprd05.prod.outlook.com (2603:10b6:a03:339::28) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) Precedence: bulk X-Mailing-List: linux-coco@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|DM4PR11MB5309:EE_ X-MS-Office365-Filtering-Correlation-Id: 8781310e-50e7-48b9-536a-08de133534ce 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|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WGgvR29DR1MzN3BSR3RwaXVhTHM4amh5OGxMdTdQSlVja3lNcWZzR25UMFAr?= =?utf-8?B?ZlFsU3kwUkIxZGVTdExtSDJUWWRyNzRkL1psNHZYSUdTSjdXZGZvaFRLOTQ1?= =?utf-8?B?WkRMRE5aOGREdFNSdkg2dlYxZjJDaXd6enVybDNKejhmd283SldxK2d2VkRk?= =?utf-8?B?VTdHNWV5eDFVbW9TeE5vWkRibWdqTE5hYVAxTm4xU1JubE43YjI1cHBzaXpL?= =?utf-8?B?U1hYY2R4Qmx5SnBYOXpjbUJ4aTlIV1NWQUx6aEdNL0JFNnZQeVVHN2tZeHhz?= =?utf-8?B?STNPVWxleUNqc013T3dDMTRFcHVvTUJBVjNOYXFoZlRoV0N2NDlLR29aOHFv?= =?utf-8?B?WEhWdVhOMVUvZkpFK000RjJma2dMQkIyL2xuQnd6b29mSVdCZXJXakY4TEx4?= =?utf-8?B?aEh2VVYvSFJJNmFNcUx1Y2NUSnFGQmNxYjNoUUJPWC9QOXFBblkxdHlhbVpN?= =?utf-8?B?VGhsaVRRbklVZ2E4M2JOM0Y1dmVLQk5ZcFhFZVJ3TFRQYWJSZHdEUHlNYzZ4?= =?utf-8?B?NVE5KzFJL0RiNHppM1YzNlcrZC83UmZrRHZORnNyQ01rSjJIdDdwTHhIZ0Fm?= =?utf-8?B?ZG5CekxZRGhZV0VROWhINmpLRW5HTHQ2RnMvcDlxUDJIa3NEMG43cEIyQ1ZP?= =?utf-8?B?c0x3Y0JxMk8vQW5nczV2YStjd2ZDM3lMbTJWUWFvcnNPaENjQkc0SGYrc29l?= =?utf-8?B?RWR4dTBRdXBkZkVrL2h0UDRhMVJLenJhNzdZK2pjaWxoK2RiT0ovM3N4Q042?= =?utf-8?B?SkdMbmoxMUtrMDR3ZU1QeCtualQvVFFnb3pxTUtTUXlvcmVjUi9rQlUzQURG?= =?utf-8?B?Vm5VNEhkRlZNZkJlc1dJMEQ1SWlTL0E3RjFkR2JzTVJYYSt2NDdTcGZXU0ZQ?= =?utf-8?B?YVhiSGV2VlVsUjlJTmFTbkZEV3NYd1o2cWN5aXBYbnRhT0tMeGM2Um5aVlU4?= =?utf-8?B?NGplTGNZQ0VQdWNVWEJOU0c4TGEyZkM3c2tyei9xcUNGdWs5YktveE1ndDhY?= =?utf-8?B?RkthTUN3TXk2MTV2ZGwyelFjSzZ4STlUbjEyZkhVUWxidFpqNDErRFc2YzBQ?= =?utf-8?B?d1N4MjQyTUtHS2JuOGN2bkV3amxyOTJrZE02YjdUZ1RLVmNhVFVwM2lSMmNJ?= =?utf-8?B?dFlDak41TDE2V2VpWkVBamhJSnpIaGw3SU1TcktKMTJIZ3JsUzlKZTNVNUpL?= =?utf-8?B?dkkrRzJlUnhKcXZQQ0V2Nk5LbGRLSnV0MVRtRFJsSmtGTnRwRkU0MVEzanFt?= =?utf-8?B?SXU2Ymh6blZGN0RHVzBmSDlKa1FvTmdiYWFyejgydDh0WmM0R1h6ejJzdVor?= =?utf-8?B?aHkvVzVsZnJyZnFHaFRMd0VlaG5IaERNWHdic01XYjhFbkZBdTJFejk0c3pI?= =?utf-8?B?MlJ4cTVWMHJ0b1dRNFZERTRZT3Y3aGlVcXQrYitlZDhRMjZtbjNlQ3pXTTdG?= =?utf-8?B?aHZKczBmTlFvV2c3ZXJBUXFMaEdOQVE4aUdBZy9uWjBsTkRUcXdYZkgycklX?= =?utf-8?B?Q1FFaTlyT3FQUUlSNDZqOHI2YWszZ2h5YXJPb3BRck5TMnF0bVVHc3B2cFFr?= =?utf-8?B?SzhnNjB2VkEwclhkVFV2eFVhZlhQS3NPY1dqcGlhcW1GcDNjcnhqQll6dkx3?= =?utf-8?B?bEl4NGdydU9pekdWaXNyMmVUNWNhbE9WL1J3d0hsRVZsandzRHcyUDk5WmYx?= =?utf-8?B?V0FNaWtDRmV3V2xleVg3QS9UWGRHcUJ0eHNqdGhRMjVjL3ZCakl3UFlXbmF0?= =?utf-8?B?ektDSTBuOGgwVkgvRm5ISi8vclk3aTZOMmhlQnJsQXpBa0tiQmVzOGpSb21B?= =?utf-8?B?K0N6N215dnFuK0dnMEQwdDZtU0JCWTl0VFE4U2ZseGhwYWUzVSszV0xmR1A2?= =?utf-8?B?OWlkVVllUlZsS0tYcVpILzZwZ1NCUC9OVHppL09xSGcyQVJUdG5Db3l0WFJG?= =?utf-8?Q?ybnhxAOZd343QY67vaFfJtCvqq54iDHp?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MW1zM0tMekdUNnBKRzRyVkFEZkdhMDIvR1NDU3MzNmNoa3NpMnY3eFp0ekdP?= =?utf-8?B?LzlPWVNtL3BBbXZET1VGL1lMTUlnWm9aRlplaTNCUFFNK2hFVG8vakJoUXJU?= =?utf-8?B?YUY2cHJNdWdxcm9nQmJWTnBHT0U5cDF0ZDZCQktvdWlZc21rcHdiRUJJdndI?= =?utf-8?B?NEU0cDJvU0grWTJ6dmVVOTlNeXUxajFGVkVUOU9qOHdKUFZLZStBZzVWNXpp?= =?utf-8?B?TnRUeUpFSzJEOThzMkNOQXdUQkhBZWlvSi8vSXMraXF4TjlONEhLeUNncUpS?= =?utf-8?B?aHVLc0tyTFV1eVN1anprU2JacG5yellrRWRrQjlHeEZ2YVdoRnhJeVBFeWZL?= =?utf-8?B?Wkd6a1Z2TnhYUGR5SUdjZlJDcFE5bXJwNUJ5SCtUbzRpekVzVU10LzZ5TkI3?= =?utf-8?B?VkY4UDQzcGhuSTQvR1Rqc2orUTJ5T3Z2ZlByZ0J3UE5OdHBkQ08ycGFiUHJZ?= =?utf-8?B?aFlsbTEwWjhTb2NtRHRyRU85c3ZNbEJlZUlEcFBpb1BmVVB3ZmhOR1c3R0tn?= =?utf-8?B?Q1lsMXFxZEF3RVVnKyt6RHFaT2JNZXlTMS94YXZWYVJ4ajdjQnBFc3h1WUoz?= =?utf-8?B?bjhmY2pObWV1ME9tMTY5TUJxdWZEY09id1ZjcUxpQkZBelZtby9CZHp6YjNj?= =?utf-8?B?OSsrL3JBemE0SG1xdzVMNlcrVzZURitXcXRKY2RCVndBeTRtdW9nMVZ3amtz?= =?utf-8?B?dnpxZ0lWK055RzNnR2I1NklQQk5oa1FvUHNIbzA3eVlRanM4YVlXSGFQRm4r?= =?utf-8?B?Nml1UnBJY1pZNEYya3BwQzkvd0gyNjUyMGpFWUpQSk96RklmNFVEQUgrakVE?= =?utf-8?B?elorUXdWVnArZE0zbGI5RDY4RGZWbWFHdGJqSEtBajMxTWlrbVpyS2tMUUpH?= =?utf-8?B?ZHVjb3VacElvRzJBL25YQ0d6TmJDT1JDRFpoL3BoTTBCempvNW41UEh6dHBG?= =?utf-8?B?T2hMVUVFZzJDaGxsd1NyVDI2bTB3bU04Q1dPQXVISElPc01wNmlEeXF6TGZH?= =?utf-8?B?bzJLdnlmQ1FBQjFRSHZnMXpJclhucTYwUXhJdFpTejM1dm5ZTmdQWUNxdHlB?= =?utf-8?B?L2svVVNTZys0NUE5U2o3c2RXd3lDNEZ3VzhhcE1kS1AvNGNJZTAvWUViSldG?= =?utf-8?B?R0F3Mm1RN0UxVUQxWGJsdFc0ZFIvY1ZySWp0ZjcxTW8wZ1U0TXNiazB3T3FD?= =?utf-8?B?bUJONDlYOFcyYU5ybWxRRXYyMHFSb21reExRS21hODFKemtOR1dhanRqRjZ0?= =?utf-8?B?OTg1R25LZUpaT0RNZEtsUXNwSnEvcVBVTzJXK3Z1N1lOOEtGWDM2cFZDbFo3?= =?utf-8?B?elZDaTNoZFFwcmdmcmhncjdjRFRhc2dFRnlsamcrdlNsWXpNZGgvSFdJTTRt?= =?utf-8?B?eHlNcHV6SDBnRktvYzNpaW5SZHBsK05wQSswZlkydm5YbDRKbjdWVWczSHJt?= =?utf-8?B?K3padTZnYjVzZUdoZDJESU9vamNjSnZCL05aYndHSEFWU3FuWkp4aGw1NFdt?= =?utf-8?B?ditFQjExdGJNWDNLb0toMkRhRllxQi9JNi9ESWlMUnhwdjlCVmFYWmRzMXVG?= =?utf-8?B?TUhLWTIvbFNYT0M5c3lYRno0c0JLRThXWmlmSlJuMFBucVcvam1QR3NDTVlk?= =?utf-8?B?em83MGpDSmxuZENXdDFBL0l0TjRJVGhWRFZYcXlKQ0tqSndaSDNJQ0pSREt5?= =?utf-8?B?amdxL2F0cEVaM2ZGU2JxLyswNXFHVnNwajN5MkNFVFR1bnJUWnllcVRLQ3Ja?= =?utf-8?B?VHlCbXFESWdiL2hBTmNTNjFoUlpyUTY4dk9BMkwrT1pxWWlOVmVwazZadXdn?= =?utf-8?B?b2NLOW9uVEJoTVd4TE4zbFphT0k0TjRZYklpcEhxSEFyT3NnbjFQUzlvVExT?= =?utf-8?B?OGphSWtCQ0xRb0ZVL09ISE9TcFpKSC8wRGdtRnRKYUVFN0tKYzZVNnU4K0Ja?= =?utf-8?B?QS8rSmhIMnVEQ3FIOVJKSHZTdjlMbnZQZFFKQ01YVUtaVHRlRUFRTW9CZERa?= =?utf-8?B?dGZFZUd2OWoyY3lQS1VKdUFFKzI4SUZRRDVlM2J1clZkVTJvY3g0S3RkRDkx?= =?utf-8?B?eERTMkIwQUNvNGlPQVkvc0creGdzVWNuTHQrT2VWV0ZjSmdMazNRM2NJVGlY?= =?utf-8?B?NlIyZnJic3gybjlTMTEvY0xPaUxwemE2ZDZSbTlrYTRzR0JHVWNyV1YwN3FL?= =?utf-8?B?YlE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 8781310e-50e7-48b9-536a-08de133534ce X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 19:40:37.4772 (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: agY+3KYWuJdXbYp8Irky7cNE+RKLVFlydJqS+o1FtSAmPiTZe5NDBnIcokNBQrjX8hESwDy4k8sjJPZJoJESLts56xdeqJP/J8/wieMAlMQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5309 X-OriginatorOrg: intel.com Dave Hansen wrote: > On 10/24/25 00:43, Chao Gao wrote: > ... > > Beyond "the kvm_tdx object gets torn down during a build," I see two potential > > issues: > > > > 1. TD Build and TDX migration aren't purely kernel processes -- they span multiple > > KVM ioctls. Holding a read-write lock throughout the entire process would > > require exiting to userspace while the lock is held. I think this is > > irregular, but I'm not sure if it's acceptable for read-write semaphores. > > Sure, I guess it's irregular. But look at it this way: let's say we > concocted some scheme to use a TD build refcount and a module update > flag, had them both wait_event_interruptible() on each other, and then > did wakeups. That would get the same semantics without an rwsem. This sounds unworkable to me. First, you cannot return to userspace while holding a lock. Lockdep will rightfully scream: "WARNING: lock held when returning to user space!" The complexity of ensuring that a multi-stage ABI transaction completes from the kernel side is painful. If that process dies in the middle of its ABI sequence who cleans up these references? The operational mechanism to make sure that one process flow does not mess up another process flow is for those process to communicate with *userspace* file locks, or for those process to check for failures after the fact and retry. Unless you can make the build side an atomic ABI, this is a documentation + userspace problem, not a kernel problem.