From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2050.outbound.protection.outlook.com [40.107.236.50]) (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 6F78C24B22A for ; Fri, 10 Jan 2025 19:29:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.50 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736537361; cv=fail; b=tcQba8xNwYT48lNrHWQzpasMVuTp2IjTNadf9Vztf6gVu3JU8suKluMF14jsubLPshegK9a6bIz56x8gDWZa7wq/1dldVGC0pNUHF+Uz9ISyAIIk6aKRJeEydO463Qdk1aboNbEOvxiBOOq6frV47GgZtEjDYMfUbIYvPI0usJA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736537361; c=relaxed/simple; bh=fJXuGzKC6H/wX6sMqOEbNsn2Rl9JiO/QvIp1TYzS5UE=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=MIrHNd8MP9J4+vfq1l2qizvqz+Kh3tsQ5mED4Xr4qAfuP6dcFrdXDosd5BaH3L+3Yc1CrjTPLOJfWr5mu1qzYIBgPTkUcTV6AYrAdsjjBeFmYvsK2iQC1Zdr6EYRJZb1lZdaD1YqU15F3jeAc6oqbTnXhi97wj+p2QKNCsna9Io= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=QjCv9+S+; arc=fail smtp.client-ip=40.107.236.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="QjCv9+S+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ijiGZ0oxImkLURzvU0NgvelDZJasg4uVLlaNBAtW7PqPczSKZ7Z6VFKD9yHL4xHam21ZGPQy3yGHuHWjsbhwEH2R6ZPE1ZHs5fBzfwmQ/kZLlcYRWCsj3WVksxPRFKMSRZtOQx18kLVn2uGk31Gm3T5fyXdcmklMbGCUUNMzmzxizQs4mUrrPwPJDmfyfqNAFcBbTB2SMxooP7l5MGVTy53WgezDT2+VK68k1IMDDagdzH8Zfjdy9LTakg2UYa3m+rmjHnSQX74j/eBjdpo2UgP8DdGTC4Fq/DPVXQZg0khP1b+pP/2x78UISVRMhZLupzmOfIMbFS803q6mdKyv1A== 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=mMBiFWn8GdxCfue3ipB85J36IMxVr9+udu4InAnZY+c=; b=j+cR/vfSKNUYLQbemPjZLJpU+AThm+JIjpvWy/sOSTL0TW/aSE5J93k+DoTgjK5PfckXlhM3f0qj7mDOoJW/S0pXPFd9DmeWG0+rgBWUOOsmXkS9S4HtyTW3lcNzKaSQoku8+kOOeC2W3F6YsCL4hEsIULpT6u+TU0nTEIYUDIv3DCKCjwrN3f3+LXHDgNK0qqAEAFQzXiYsG74o1FvyNpNVjjr2k2Ajgv+uJn70O9R5Z4wFcnDw24jH6RqFmXimfpbhuTvbaNGKWmlkX3nW2SOqqlOU4WGb837k1x4vM3VEMnTR0DIw84iNsFo6JTPxcXZUJPvr1wWY/XokdI9eIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mMBiFWn8GdxCfue3ipB85J36IMxVr9+udu4InAnZY+c=; b=QjCv9+S+Ox3nSvBF4+e8GDpDCrSvZ39L6vTMcCWWF5nrgIV5VSLo6Y2X/EdfDaPCG2s6417demICX7Tr16zzS3qRmi7rmS6LppnokfGEDw/wHsxZMqkgbFNC9otFFZjrsGs2sAUJ063X8rURXsByO7HUqWcWk9XBHOP5B+//cM0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB5070.namprd12.prod.outlook.com (2603:10b6:5:389::22) by DM4PR12MB6157.namprd12.prod.outlook.com (2603:10b6:8:ac::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.10; Fri, 10 Jan 2025 19:29:16 +0000 Received: from DM4PR12MB5070.namprd12.prod.outlook.com ([fe80::20a9:919e:fd6b:5a6e]) by DM4PR12MB5070.namprd12.prod.outlook.com ([fe80::20a9:919e:fd6b:5a6e%7]) with mapi id 15.20.8335.011; Fri, 10 Jan 2025 19:29:16 +0000 Message-ID: <00294e7e-dcd8-f940-372e-070b8d174582@amd.com> Date: Fri, 10 Jan 2025 13:29:13 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [RFC PATCH v2 00/11] AMD broadcast TLB invalidation Content-Language: en-US To: Rik van Riel , Michael Kelley , "x86@kernel.org" Cc: "linux-kernel@vger.kernel.org" , "kernel-team@meta.com" , "dave.hansen@linux.intel.com" , "luto@kernel.org" , "peterz@infradead.org" , "tglx@linutronix.de" , "mingo@redhat.com" , "bp@alien8.de" , "hpa@zytor.com" , "akpm@linux-foundation.org" , "linux-mm@kvack.org" References: <20241223025751.3268975-1-riel@surriel.com> From: Tom Lendacky In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN1PR12CA0104.namprd12.prod.outlook.com (2603:10b6:802:21::39) To DM4PR12MB5070.namprd12.prod.outlook.com (2603:10b6:5:389::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB5070:EE_|DM4PR12MB6157:EE_ X-MS-Office365-Filtering-Correlation-Id: a5218d9a-1109-4099-7cea-08dd31ad1202 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TFltWXNldWdiTEJQVFM2RkxVOGowU0RkdzJIUnZ3cXpRcC9JeFhwVG1QZUx2?= =?utf-8?B?SUNGTXNFaXp4cHBkdXdPcmNNZlNxQnIzRy9lRlFFSEFMSC9tYURBVkdhUVdu?= =?utf-8?B?dlptVEkwMzFxZ2tuQ2pGZStKdm04WnZka1BQZFJvc2p5V1RuK2hrT1Q5b1Ra?= =?utf-8?B?NHNMZ05vb3pKSVVRU2I3eUFURGI1WktmSlRzL2dRYWFtd3dQcjE2bkczTklR?= =?utf-8?B?dDdpU21IL28rR0Y4WnpuaXlwaVVra0xsZE51Z1lGY2xqMEI5S0EvNXgrWEI0?= =?utf-8?B?NnpmczhsNnNWdGlFWVFadHBvNjlWTnZGZDFyVXN5T3Mvek52N21LMWdrb2ZR?= =?utf-8?B?dmM0UFBUai90NE5wMEdPS0tEU05MdVhDQWhTWkNQdmdtSnorVmxLS3JQMUpD?= =?utf-8?B?b1Q0a0lxU1dRL1FYTzQvM29mZ2w1eUwzZW1Scy9jRTNmckxxdE1GMUErUURy?= =?utf-8?B?WWVEd21PT3BsY2xzRDRKQTFZZ3NrQlJiV0czYWR4dTVHRmd3MVlCSTg4cVQy?= =?utf-8?B?NkdoQTJueGE4U3F1K0xtd0tBaHdMbDVIWVdCK3NFdVNNWnppaE4yN0ZmMFN4?= =?utf-8?B?V2w5elJVY0JnVmk2Y3VQZklDaTJOWVh0VDVUMVVMeksvY1JNMmhIdlB1VENl?= =?utf-8?B?MmtPR2xhTVNXUW50L1Y3Zk44YzZlZGgrV3l1alBPbDdwYkhlTDZUVi9leUNF?= =?utf-8?B?VUYwWXZmTUUxclR2YTlGTmI0d3F6L2JxTnFyZk1DTDNpNmJQNmZvSFlPUWRE?= =?utf-8?B?NHBVNmFBZDdFL3JsczNHb3lqaHpuRXhNd3B5Qk9jb0JINkkzclM0ZWdhSWgy?= =?utf-8?B?QkllTExEMzVtMk83bkJaNlpySkp1ZWNTQUx2QWkxa2pIZmpDcjh0Zkp3VVIy?= =?utf-8?B?RWtjTk91Q1JCTDB2a0Q0Q3diOGpCQTB1eitKQldPcWxnVVNNZHk3Z1lrZGZl?= =?utf-8?B?RThhekpMUW1taWMzNmhTRy9CT29xeDZxMjdRelA4TUxWS2NjVTJtRGJCNDZB?= =?utf-8?B?Y1dDQlgyeGpMdVBCQ3c0QWhBTW5TeHRFbDlFZEtkMkh5bndUOHRKckNUTVY5?= =?utf-8?B?WDR2cTBZQ0p6bWEyRjh3SDVpbXdReWVTenRMRGoya0dCM3pMMGdTMTE5R3Mv?= =?utf-8?B?ZHhCSjROcVhhcUdvdHNtMWN1RWYyMWN4UGRtRzM4dDFSR2xGdFNIdmYrRGsw?= =?utf-8?B?ZlNhV1dnQSt4d013bURJQ1BvaDJodG5hT2FHbGU2MGJxOFB0RUpDUVBSL0xi?= =?utf-8?B?ZFM1RWszeWJDVFZ0TlFnZ0VMS05yc0hSdTdLU0JCWVNkWlg5RmpLVmFGd0Ja?= =?utf-8?B?ZjBQakdVRWZDc1lYV1dJTHV2c1MwbkZBTlJaeGlSbWFkMTZhRlpwN2R5clF3?= =?utf-8?B?NUpPeGRJTmFGRHBYRkU3MVhRY0VUZjJ1cWVmNEJMUERpVzFla2VJcW4ySVdE?= =?utf-8?B?ejIyYlNtSFBhTDhJTmg2QVk3VTBjYWdEOC9zeC9QR0NzcjdrSWxyTGp1a2ww?= =?utf-8?B?dlRIcndiZmY1dysyUFhhSFdDaG9yT2tEb0FWRE0xV3hjYTAzRnhZUFBJSmov?= =?utf-8?B?SUFCUC8xMEdQelI2N3NTSmx2WlAzS0w3dDhndnpxVC9NeFFEcmtWLzdzME50?= =?utf-8?B?aGFmcllhUnNlRCtVb2t6eGZuS3J2b0RRVjVZZ0JTNzBsTmRLYjdxbFZxeDZK?= =?utf-8?B?QnlRODdmSnI0U3QyRFVKamlDdUkvZmlvNHY4b1ltOUlSN2tWWW8vbjBvVUVT?= =?utf-8?B?dmtPV0VOVC95cXVML3VYakh3L3lNaXhGZXZTb2NpSzVyQnhZYzIrcm1mRzUr?= =?utf-8?B?Y08xY1NxRDJYVVA0ZGhWTWJpT3BpRjBCVUZFQUxNb3dKM25QWHN5Qy9Ha2xM?= =?utf-8?Q?ZrNSMf8pO1Ini?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5070.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eFFEYWJQZHdiNnhESzFrLzdHYlFSNE03NXNGYlYvMG1nRUo3TFNicTgyN2lq?= =?utf-8?B?YmJVTm1XcnRIcnhyVlJBamdkQklNR0VHeEF4bzFyTEEvTWM0bFBiZFBVcDFq?= =?utf-8?B?aWJ3dHFFcVhYMUVNWlJ6dFVsMHNWVVNSTkpJS0hFQkRWVWVKV28zOUZWUHpj?= =?utf-8?B?N1RuSDRpT2FBcHh5aWRnd2loSVBOWFFnRXBSSlRRaXlFZjlhaHhldE1LN0U0?= =?utf-8?B?OWlpWktsbG03N2VPb3c1SXJJejJ3d3huZ2tLQitLV0UzRDZ6SWpucjhqQURs?= =?utf-8?B?NHpVYUttOU5nWm51VXRwV09PZWdFOFZQMUswOU9VTFgrZ0lBQ3Y2OXZhTEtT?= =?utf-8?B?QjI3TmJ1WjZTTzJzNWZ2ZTdDeER6TWY5ZVUyKzJMcDZtUGJPWnlMV05taTkz?= =?utf-8?B?L1lzVVEzd2MzZE0xZ2R1Z2ZsZ0xvVCs2eGlOV1NOSG1TbHlyL2QrdUE1MFdJ?= =?utf-8?B?VFdZalVRYkdhUXUrWE50YmJucWdIeXVhWWhpQ3dhYkhMU0RHWkZsRVhObTkz?= =?utf-8?B?dFpjenltNDNEM2hNTkhFaHZmdEpUWTVZYU9DeEJGK2JRZklKdmxWcitaVWMw?= =?utf-8?B?NnJweWN3VTN4L0lrZ1Z3YWZVMlJHblR5NDZQbEY2YWlSUEl5dmkvdlQ0OUQz?= =?utf-8?B?ekFReU9RbzlMaSt1bFdzdEhxTlFWd0NsbnAyczk3R3dJTTUzYUdaVUFFQ0t4?= =?utf-8?B?SDJueGczaFJTNmVJaThha0NvNnhhOEtxMXpPQiswZTBmaFhqRm5Ma2VFb1Nl?= =?utf-8?B?V2dWazM4REd4YWxoaUNrL0NkS3VIVHc2NUFhWitqUXRVR0hpWmI2QytLcVFK?= =?utf-8?B?TEl1OG9MczhjTTdpeTBwOW0yZjQ4V0FNdUF0dXpHR0UyRkZldUJtMDcrMm1V?= =?utf-8?B?NzRkTXJZaFFCRDdhTzZQQU1RQzVZTTVGV3pNQjVrY3hUZ0FuemJJRFlYa0dH?= =?utf-8?B?dWt2NXErK0dtdUIzZU1QK2pJTGthYjNDTDFtc3dqK1REaWpUYnFzL2p0NGNY?= =?utf-8?B?WGE4V2hDREFwZ3JIZnltRlVDcEg1QVJ2bWZWMFgrN28yN3BaeEJzQWdQZ1Zt?= =?utf-8?B?cE0xRFhDS1U3cEpOd2VaNXNiTnpia0pSdnQwczVLNHltK29yTXhROEozNUx5?= =?utf-8?B?dXZZbHJnZzR0d3hvcFIzclJGNVBMNlBSZDlVZzB1RTV3Q0M1SUpIYXhEZDJm?= =?utf-8?B?NC9pb3hwMXE4Tmk4eXNMU0p3c2EwUnorTUVBRXd6ZFlaZHdqU1VMNERsZk9q?= =?utf-8?B?NlhWeEViaE9FQkdrWUtKODN3S1VDOFhScXhqVU1YT3VrYVdneGR2Z0dHcDls?= =?utf-8?B?SmlCREJ3QnUzaU5hVlNyOGlLR0NTWVNOek5tTU0xOGZFY3NZMGVvb004L1M2?= =?utf-8?B?d0ZucldCY3k0Ujd3Kzg0VWhvNWV2WmkxcUJrWkVxOFNFV29UK2Z3Q3JKeHF2?= =?utf-8?B?MC9QWHduRkFVWStGVGJNMVJBN2UveGt4S0Fpck96MVlvMi8vK2c2T21DVCt4?= =?utf-8?B?SjY5UzlEOEpXWEkyQ3R4RFJqTlQwa1BvbndkazVSV21jNHNIRjh4R0gxQ1Ix?= =?utf-8?B?TXJPL0RKOU42djIyR2ZJcFk1Wit6cnJkMVRKQUlyWEFFRndzK3hFclVlT2Rl?= =?utf-8?B?V0UwTFRSTWZiQWlYaWh6NFdiQVFHb3ZZSlprYWxOYUJuZ2ZyL1A4R1NmV1l2?= =?utf-8?B?QmhwUmp0MnpXN2JJQWcvUDR5TFRPL0ROZWc3UUdhSHhpTTZkM3AraktLSFRB?= =?utf-8?B?MEljZWhmWXFNRjhXbW5CY2x1R09qM3FScVBMWVc1SjZSeVNuZGVCa2FtY0N5?= =?utf-8?B?R1B2aWlmZ1UvWHlDeGhYN1o1bkFiV1lwdW0yWTl3Yy9PQ3ZtUEJDTyt1Wkw3?= =?utf-8?B?WVhYdHBoQzNuQ2J5b0VhY1UrckpEaWtkWVpBaEJ2MWtqZlZXaEhST1dkU2NJ?= =?utf-8?B?cmRFakV0SGsxb2hjR1kxNXd6NXZyYyszUTFNTUVyaVNNU0xlTk92akFsVTZ2?= =?utf-8?B?cWlCTjNvTER3REx3NWM0Tm03WURRcGNKdUdVUjM0d3p4R1NqM1BKWFRRSFc3?= =?utf-8?B?c28ySnI2QWF2S01NVHVXcG0wV05WZk1xdFFzQndsdjRZdENndEQyOVE5T1ZO?= =?utf-8?Q?kgsTcq/8RMv0v0m7OFz6nenik?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5218d9a-1109-4099-7cea-08dd31ad1202 X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5070.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2025 19:29:15.9204 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qo8AreQsUJYiQ1+eTcdhy9v2PBVLRwLT0T3WAGyMfOcbXPHZQBN6w2fAv7jH8F2F8lc6db++Aeertoclg0T1JQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6157 On 12/25/24 08:48, Rik van Riel wrote: > On Tue, 2024-12-24 at 18:08 +0000, Michael Kelley wrote: >> From: riel@surriel.comĀ  Sent: Sunday, December 22, >> 2024 6:55 PM >> >>> >>> Add support for broadcast TLB invalidation using AMD's INVLPGB >>> instruction. >> >>> This allows the kernel to invalidate TLB entries on remote CPUs >>> without >>> needing to send IPIs, without having to wait for remote CPUs to >>> handle >>> those interrupts, and with less interruption to what was running on >>> those CPUs. >>> >>> Because x86 PCID space is limited, and there are some very large >>> systems out there, broadcast TLB invalidation is only used for >>> processes that are active on 3 or more CPUs, with the threshold >>> being gradually increased the more the PCID space gets exhausted. >> >> Rik -- >> >> What is this patch set's expectation about INVLPGB and TLBSYNC >> availability and usage in a VM? I see that INVLPGB and TLBYSNC >> behavior in a VM is spec'ed in the AMD Programmer's Manual, but >> I wonder about their impact in a multi-tenant host like in a public >> cloud environment. And given what this patch set does in assigning >> global ASIDs, should X86_FEATURE_INVLPGB be disabled if >> running in a VM where the hypervisor for whatever reason has >> enabled INVLPGB/TLBSYNC in its VMs? >> > This patch series enables bare metal INVLPGB functionality. > > Virtual machines should probably not expose the INVPLGB > CPUID feature bit to guests, since virtual machine > invalidation seems to work differently than bare metal > invalidation. > > For one, the ASID seems to actually mean something in > SVM context, while trying to use the ASID in bare metal > blows up :) Note that global ASIDs (relative to VMs) are different from the broadcast ASIDs being used here. IIUC, the broadcast ASIDs here get translated to a PCID value (kern_pcid(asid) or user_pcid(asid) in patch #9). Thanks, Tom > >