From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azolkn19010019.outbound.protection.outlook.com [52.103.23.19]) (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 A5D2927AC45 for ; Thu, 25 Jun 2026 03:14:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.23.19 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782357270; cv=fail; b=AS9+gI3gJZn8IUPOAKd1PkcVV4nQarz14hhDDCwma5Rw6RUD8lcRApJxwmTFRrtnNDU5OfDv1xjlnmrtYAIifhgHff/wUH4ZArxj0AO0l9HUpeT8Qrh4Wjo6DZmpiqavTZ+aXwKj7Yl5hlFH5+hQ0Wmr92gb46dnry23nlf2jI0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782357270; c=relaxed/simple; bh=C/8E92EYWs4CfW9TA/gXHNPpgl2IVR0sTvTMp9lAKbA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=Dk+8u/prdhONfdfVHGaAnIScdZBxrPLpPyO+nANricBYSgEBw1bmmgop6F6Xgk0qv0JyW+JtPJf0kHeICsq6IZrO9Os/78Rhy+HZ46a2zx10vPCH/vEM4IMEZIUKLtRpQjNTACGqi/SRrl0SCB2f97KX9zIapN1xxYonFG3pVjo= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=ou77/a4w; arc=fail smtp.client-ip=52.103.23.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="ou77/a4w" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cHtm6pPZNLESAEoSoqY3FAQE6xffVHdq1t4Gzrl0VcQZa32Y+dIgplnqq6d8Cq9+qxLizAjOIyMf/ZShfUDA36/kVGB6fRAGb99mbi3hK3LIn/WOKy2aOtZ4wSIvZkZRyNFOo8kCe2ip+NOFsqX0EsZ6JVQCNl+Bc2wP1fW8Z5WLrdZ4o2IeKdYjcbOGT8r+X3dnc8+NFYstglN/91XwzZMpdXld/oWf65T6HiTE4D8V45t/fAPUvM4eEXvBm1MZWddiV7cqL594G+RD/cQf3Ty9osV85JCT3+a7J0FjpJ1XylRMIiIzA6VnFMG5VPY+MHwEgQLES/5yhTMvGmYkDA== 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=dIHWTc8btym/cBzZgIgWxTwezPbhK+SVMCXM+umKl+s=; b=CjATCdcT5uTffrSLZToxyDGT/Yjvdnmn2C5ocegvcRZgeEHT376X0wce0FTs1UQEGtQV2ZS8oZ1K/nYXwrkEDvGqmJ9vG4+Y57sZPBN60io//0XMIhN5e0DqaXJKMTCfMdIw8VUsx2PcMZinvUvjLUVTPCQww3eE08n46OWFRWI4XiHm6g+kq5bQUq8FS7ut2uOmMaqlGVGhKVr4aOSYdUjCsvl9KXEugqcY1WROiQmGFw5N6C6xhTeavv+uRaWaZb4tbu4gLhEsDpabByGcMhGMQTQYU3DMmknzBxcxb69eN6lAF+sOGtESc4LzRMCwlI2m9YV4VfVygZo+bQZTqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dIHWTc8btym/cBzZgIgWxTwezPbhK+SVMCXM+umKl+s=; b=ou77/a4wPpb+WbQ7Qgwa6KSRNCbXezezBcfqVvsXkhGZQCcOYUpyBRnLkXhHpWDhR52bbsuZpfr/nJfpSTCyBSbke6S/YiV5mI1QaluqPyvral60MxlQ8R8uMEdvirhfEe0Fj4ULCX8Yp4bPyJU0/N6FphIqP0TT2M+Pw/vKA2VcVwOJHJ15jEellayYYcZiSKoIHNy1IKm+/9p2LJYjWqptuHErt6iNuKpDYf0WJXA5cRcQv+bKHLCGu0cqYT8wcYv0tA42Niq/nNFK0FOJH21C/a/rhtU5E/ycA13xgqmTLR3IozCwb4hwpkgsKP2pGcEhIGd8nhxmCaw8JIqC7A== Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23) by CO1PR02MB8620.namprd02.prod.outlook.com (2603:10b6:303:15f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.16; Thu, 25 Jun 2026 03:14:25 +0000 Received: from SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::900:1ccf:2b1e:52b6]) by SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::900:1ccf:2b1e:52b6%3]) with mapi id 15.21.0159.007; Thu, 25 Jun 2026 03:14:25 +0000 From: Michael Kelley To: Jun Miao , "bp@alien8.de" , "tglx@kernel.org" , "mingo@redhat.com" , "dave.hansen@linux.intel.com" , "m.szyprowski@samsung.com" , "robin.murphy@arm.com" , "rick.p.edgecombe@intel.com" CC: "x86@kernel.org" , "linux-kernel@vger.kernel.org" , "aakarsh.jain@oss.qualcomm.com" , "michael.roth@amd.com" , "fan.du@intel.com" Subject: RE: [PATCH v4] x86/pci-dma: add a SWIOTLB_ANY flag to lift the low mem limitation Thread-Topic: [PATCH v4] x86/pci-dma: add a SWIOTLB_ANY flag to lift the low mem limitation Thread-Index: AQJkkv1DmvcyYE9N1dYN42hbiZhcmLU/eVbQ Date: Thu, 25 Jun 2026 03:14:24 +0000 Message-ID: References: <20260625012616.2992535-1-jun.miao@intel.com> In-Reply-To: <20260625012616.2992535-1-jun.miao@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|CO1PR02MB8620:EE_ x-ms-office365-filtering-correlation-id: 126d2fc4-317d-4a8c-388d-08ded267dc31 x-microsoft-antispam: BCL:0;ARA:14566002|51005399006|19101099003|31061999003|13091999003|8062599012|19110799012|8060799015|15080799012|37011999003|25010399006|4140399003|10035399007|40105399003|1602099012|102099032|440099028|4302099013|3412199025; x-microsoft-antispam-message-info: =?us-ascii?Q?NV9AKTRv/4T5dAbmApewqPWRvByYFOei4MA3uaLztY8eDN+hDLsVGT8+oIig?= =?us-ascii?Q?FJ/G9ZIlqsaGU4JE3jfe5NoLo+7f1Z3RXgL+olrD5EOTLocBiS777wmFbMIa?= =?us-ascii?Q?aLLn5BHVmcKlziOZ1F4hxfDV9ZM+xe53fECTXZRotS1b+VS1NALBL5/HNtl1?= =?us-ascii?Q?O4oV2yjX32xrk+ozAhUxK+M3+UHYR5/PemfSEENUKnrd9SvjbjxVC40dWuPF?= =?us-ascii?Q?yXwqG8mQi/oufKfHnBZhB2w3iHuDTD+wR4lhRlP0eL+xImBhxyR4W6Kp5vGm?= =?us-ascii?Q?eszEunxEc6pn55fT5jQfylmV0WTK8/kdqx4+kxCjBseArwzERszVqPhdRRpK?= =?us-ascii?Q?R/5Iq2PHM6XFa7HlrPMqI6eM3bLQXxBVcgtTMdqvgO1B3C4qJx0+A8tE4WY3?= =?us-ascii?Q?+jv4qyBTQN16VWuM6hBFVzO+NH1mRDNRxdKBF76IRREejOSQF7WbPNryE7Ry?= =?us-ascii?Q?Ze3k5PzKOmlMfLZ02UUCeknyMpRdvLlSbPxu1IqC74YvRotCat/E+NZaj5Ne?= =?us-ascii?Q?ovPcKqGThg99gUzY8M1vsoXYKgtMskovzXtynzABI7SK6lQPVtupnLc5AKhw?= =?us-ascii?Q?bULxOUtV6M2j29VKq7aTAnYM2k94s2lJflckYJeIyQdm0+2FrOod0fuNQzbn?= =?us-ascii?Q?bIpEtOawlG+JGN077CbbVNxLBFjeCExG7Z+SIDIkiHNN0RvZ7tdnxkkSA94g?= =?us-ascii?Q?VXSQCCYO0SFUR/ST4RnhPuN+byLZlolCILQN5sZl6LB530OY04AmXhLrGHZ7?= =?us-ascii?Q?MI4+hdTO8YJ5DMjFbiJ7RPlwf7sPKOnZA9AWoAqMQJ7zTDZUpTTmdSLiHMYQ?= =?us-ascii?Q?v+xF2v3l76Sfano6VJ5rpsADzqPYFuedYnSzDREPhe3UO7gMhcc8u0x5kEpl?= =?us-ascii?Q?eS9WoucxfdOfqogiZNWpoDlEGhkbs9UyiEH6V0xVtp639w5wxE+if3L6k3bz?= =?us-ascii?Q?H9HSd6j4yyL+cAvGa/cbsTDYWojpjbeuBp3AlhhdE/iZgcG6ZFjHm7PHaoz7?= =?us-ascii?Q?wy7OQxlA7cgjqkUJjVUWV0U4NJn8L/oM2X/LBZlHd6/FxPHGZ0TNUGKy0mzv?= =?us-ascii?Q?2y0gV83feFzwfY9Xlxv+cUl4tm1yDw=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mnCTp3fRtX6kvOaVtRXJT9zqN8bnGYK4Kyz+wfxaKTOY9vZWpOZFSuJsY4BX?= =?us-ascii?Q?wO3xPBCEbnndd8d+5TXcAhgewdSrng/u9IImnnk8/EuxQvUsM6GJ3IsKOmuX?= =?us-ascii?Q?SlfEO8LOkhVB+xjrzIYLMZwCrdOTJdf2cTCiG9DZbWc+Pd4GmA+gC5RLTanz?= =?us-ascii?Q?wBk0xDE7FqpktM2UX0hvA8GkXjf+BLvv9mrEwxX3uqhAUJRlY5xeROV36LvK?= =?us-ascii?Q?W7BWLNnnoPUK6fBTE5F5h0spnV1Xu4oZYqGd597YEwLHr5xPFgf75GNDs6fE?= =?us-ascii?Q?mvKQEvEkWWPEdsJ1zH54nq0Mr+pJ/mwuP3bszyfXCGdmuMfr2GnDdsaZj2Hv?= =?us-ascii?Q?q2k6oFvSpiEhloEji4ST2scPvUfI75Ibca8qpQC5OSuPLJEvoXaUtdwcfD72?= =?us-ascii?Q?WbRsQrWHtqpXafDyY/BMixhEyc7bz7Qx9CLTKzlYYDInA82qL2saCgKGx4bh?= =?us-ascii?Q?1fDf4Qco6KuTHZEiBldIT5Hvc2WBGgfkw8C1pKeP525tlOTsYFdclW44BMDu?= =?us-ascii?Q?ElnqpdGXKVS3aQWBzIHTRB1siCVSltl8TsbdqLJ7k4b/SRQA5F4BF8UrlR17?= =?us-ascii?Q?zVLJ+Gke0EksSS3KniP997hYtGyci9hdZjtTz0Fd33OK4ynjcGRUNv50EUKK?= =?us-ascii?Q?7xtToPX6lwUpki8HdEs7Z06DhX6iNfC1Iafyhw1Sc66ZPKXg/MMNetJTPzQd?= =?us-ascii?Q?V5dbqLf1FVLbhTJFxyydebGQ0crqAnHrvE0IJFWn9cRNagRey5R3yB5yZYrH?= =?us-ascii?Q?kS6S05otJw0AmasW9MPMNC9LhODt/HmSi+XGAIAmquzelIGjtJHFYHnzm7Yy?= =?us-ascii?Q?eHIRk/lzPfLoPcSLtvs9s1d8kI3hgrwyIwiN6Y8drjc52XW4C5PV8w/FCUM7?= =?us-ascii?Q?E6gyiWs8CqBlt6Xmv3jPFFOqZXn4RS1Yo94nn6+KSqxSEpzE2zg0Q10sZOsG?= =?us-ascii?Q?R4s84F4bWPJqEZYwTUV7L97zynlBkUqJh/A3+REBo7e9k+Od0vRy7pLhFJ/M?= =?us-ascii?Q?ZTHwh0IMs9Lk7lnAyhwu80oKCkm2rls37EFhefHClP5L6ooivPot+A1piN2G?= =?us-ascii?Q?7IYv8EYRdtPx2dTwt0iu3C1koQVpMFroSS7+zDZkmmQQ5oqxtVb3nJ4JIXNW?= =?us-ascii?Q?ZOdRRzaTsi8JalLHNVJ43ea51Js+FSQ8dyFHaY8bT0o03ETm7DoWTb53OlYC?= =?us-ascii?Q?Thmo88GHqjaGgP9oVDF2EpjsLrLC2vvEZRRsCGj+zkT5d4VqdzF1dY+UTw67?= =?us-ascii?Q?67dUYR+/Dfov0iJ9872MTcpcU9yUZj5UxXGvdb69WBnxugM2x5MJkbPYdZ4d?= =?us-ascii?Q?GHf9WCx4grJDq/3dY2TG8wv2hQaXzgGIgld92cbiHdoFcxwanfqoYBkqjZ6R?= =?us-ascii?Q?hcMX8Jw=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 126d2fc4-317d-4a8c-388d-08ded267dc31 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2026 03:14:25.0439 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR02MB8620 From: Jun Miao Sent: Wednesday, June 24, 2026 6:26 PM >=20 > When high-speed NICs or multi-GPU setups are passed through into confiden= tial > VMs, the SWIOTLB bounce buffer becomes the critical path between private = and > shared memory. Restricting it to low memory limits throughput and fails t= o > scale for larger workloads. >=20 > AMD SEV-SNP and Intel TDX guests run in a TEE where the hypervisor is unt= rusted. > DMA-capable devices require bounce buffers to mediate between encrypted p= rivate > memory and unencrypted shared memory. Confining these buffers to low memo= ry > (<4GB) unnecessarily caps their size and degrades performance. >=20 > Power SVM already supports this; x86 does not. See commit 8ba2ed1be9 > ("swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction"). >=20 > [ aakarsh: completely trim down/rewrite changelog ] >=20 > Tested-by: Aakarsh Jain > Suggested-by: Borislav Petkov > Acked-by: Marek Szyprowski > Reviewed-by: Aakarsh Jain > Signed-off-by: Jun Miao I tested this change in Intel TDX and AMD SEV-SNP VMs in the Azure cloud, which are running on Hyper-V and with a paravisor. The SEV-SNP VM operates in vTOM mode. I was able to allocate a 4 GiB swiotlb, whereas prior to this patch specifying 4 GiB resulted in a memory allocation failure and a downgrade to 2 GiB. All bounce buffered DMA operations from the Hyper-V synthetic SCSI and NIC controllers worked correctly, as did DMA operations from a PCI pass-thru NVMe controller in the TDX VM. Reviewed-by: Michael Kelley Tested-by: Michael Kelley > --- >=20 > v1 -> v2: > - Updated commit message and description. > - Add Reviewed and Tested. > V1 Latest Feedback : https://lists.openwall.net/linux-kernel/2026/02/11/4= 83 >=20 > v2 -> v3: > - We can alloc 4GB with the dynamic swiotlb, rather than 1GB. > 1G is not correct. So change the commit log. >=20 > v3 -> v4: > - Not only TDX-specific but all encrypted guests include SEV. > - SEV-SNP guest passed the test with the help of Aakarsh. > Tested-by: Aakarsh Jain >=20 > - Add "Acked-by: Marek Szyprowski" > - Explain the usage case in the commit log following Boris`s suggestion. >=20 > --- > arch/x86/kernel/pci-dma.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c > index 6267363e0189..73b9320c4a7d 100644 > --- a/arch/x86/kernel/pci-dma.c > +++ b/arch/x86/kernel/pci-dma.c > @@ -61,7 +61,7 @@ static void __init pci_swiotlb_detect(void) > */ > if (cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT)) { > x86_swiotlb_enable =3D true; > - x86_swiotlb_flags |=3D SWIOTLB_FORCE; > + x86_swiotlb_flags |=3D SWIOTLB_ANY | SWIOTLB_FORCE; > } > } > #else > -- > 2.47.1 >=20