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 992F0C02183 for ; Fri, 17 Jan 2025 19:23:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 17284280004; Fri, 17 Jan 2025 14:23:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0FBC6280001; Fri, 17 Jan 2025 14:23:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8FE5280004; Fri, 17 Jan 2025 14:23:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C1DF9280001 for ; Fri, 17 Jan 2025 14:23:09 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 66C781A0728 for ; Fri, 17 Jan 2025 19:23:09 +0000 (UTC) X-FDA: 83017916898.29.7DAC2AA Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azolkn19010001.outbound.protection.outlook.com [52.103.10.1]) by imf18.hostedemail.com (Postfix) with ESMTP id 7AF311C000B for ; Fri, 17 Jan 2025 19:23:06 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=a8ghRtQ8; dmarc=pass (policy=none) header.from=outlook.com; spf=pass (imf18.hostedemail.com: domain of mhklinux@outlook.com designates 52.103.10.1 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1737141786; a=rsa-sha256; cv=pass; b=viGUGXW9x9a0YEiCxw/8DplvdRJM1PVPlUHoSJnE3bPzloaojTzgNlhkjglLVKsFgMW7QS xxjRHQgrZ28Tcy66lVYG1W0+qtYtjuEtL7j8x0IEl5/UMEVV0RJfx5K60Rv2wGC7uS2dHN B3Qvo4pxV0sJZD3wqYkuC7n0DfRXP+Y= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=a8ghRtQ8; dmarc=pass (policy=none) header.from=outlook.com; spf=pass (imf18.hostedemail.com: domain of mhklinux@outlook.com designates 52.103.10.1 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737141786; 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=FSVFaA3Z//4XMoptREpS8e8jXN/2j+aAIa8Zbi8OBJw=; b=4Mjj1p/YuiscmawNs0+nOqNoTQB3wyOuATK8umdDwMaCvOrqUcZ1xDyOnR0eyMbmZyDBha E79UmOk9KZgpslXY2hymiVBlitF/VCu8Tr+HL3/7awSEH2PyKP3onV4dEvP40N5oH7ALCx a0MlZ4dpo5IT5zrNUIZ8oj2VPE0U/Bc= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rwyDDdrGC+mzAD2hyEvVuoN4vCoXW4WTjVv8KHUN/+alcnrEaB/0ogCRHNFxZTbrUEE9/g2la9M/B/JOP1LooVtLBCYQy9JQE3SdKToou3kNoJacOEGUfsDOB3vHNvXVHYBVFNohEivSPvYcOfKp9gWTM/2p5KQpQaTEY0oGgyiwkrH427+cPl+QC2vRwT8re1an0hNAU5FpUS68MUIQ+4R24pMn0/2nP8LX6RUhPEUULnuH7DTei0ZfEf1IO3UbXoPVCO/V2/8EirDBWorCa8KWlp+nw8EmDtQtKpOExO16XZHWyWoiEjwnwuCGXUIuDIdx4tkFNXxJbYzHIKOeLA== 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=FSVFaA3Z//4XMoptREpS8e8jXN/2j+aAIa8Zbi8OBJw=; b=glHGECb912Culnoz/MNTt5hnIUxltLZQDso4PeuFtSli5LRJ0ya5K+Btx+0W0fGXkOju5nSKDfYXMva6zCpgAr53kyK4iAKh9WTqCaobuCZHIWAdS3LDaVTh+f1fqVDvmQSQ8BVPV4IskOJAe+uwJg26mLc+VzYAk83aiqsT3+f9Ce0kx6uk2s7Gg8y8ztb9B1Jc8fnzEs/uBqCbrJ53gcHqETbI2wq8R5f/dcniUGZJWXtFIvqEz49a+YQNx6Gi2Om7fFC15guGCRXFttNkjMhdad21NWw2ZLXRGrMGlaQ/UkSrbPrqRiji4njUDzoOTnwyCUnedBctAjvxulB3Wg== 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=FSVFaA3Z//4XMoptREpS8e8jXN/2j+aAIa8Zbi8OBJw=; b=a8ghRtQ8aWgHt56v/KsLfrkIbsVtl+n3Sh+cwNoQKTQHF8L2tTyA/PEGUJovgb5G9LcipesYyOsR8BU11LGmy4hGKRjIxPhnz1alqvLU79GPyof369U3g5UmgDk4wkxXrt1nxeEvbwN7E5o4DRu1lXxV2/d7zksQUOepW3dVTZ20e3QC+IVXn1TyTA9jbcfgFOkhkQvas62dd53hSFkHTnf0pm1mKBzHvcFb1d+ZxFI64MKaoHRoudTQDW4QgwUEEx8ZhnC+BAaLjN6dxqPO3iweepgfauvvsLxRS+8wsxQk/npAqE3BXAUppQx4lh3HscMzXg05+ysbSEH6n5fU/A== Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23) by SA1PR02MB9697.namprd02.prod.outlook.com (2603:10b6:806:38d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.15; Fri, 17 Jan 2025 19:23:03 +0000 Received: from SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::cedd:1e64:8f61:b9df%4]) with mapi id 15.20.8356.010; Fri, 17 Jan 2025 19:23:03 +0000 From: Michael Kelley To: "riel@surriel.com" , "x86@kernel.org" CC: "linux-kernel@vger.kernel.org" , "bp@alien8.de" , "peterz@infradead.org" , "dave.hansen@linux.intel.com" , "zhengqi.arch@bytedance.com" , "nadav.amit@gmail.com" , "thomas.lendacky@amd.com" , "kernel-team@meta.com" , "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "jannh@google.com" , "andrew.cooper3@citrix.com" , Dave Hansen Subject: RE: [PATCH v5 03/12] x86/mm: consolidate full flush threshold decision Thread-Topic: [PATCH v5 03/12] x86/mm: consolidate full flush threshold decision Thread-Index: AQHbZ77g0qFzx5gRw0K/ZZFuCmHesrMbWOQg Date: Fri, 17 Jan 2025 19:23:03 +0000 Message-ID: References: <20250116023127.1531583-1-riel@surriel.com> <20250116023127.1531583-4-riel@surriel.com> In-Reply-To: <20250116023127.1531583-4-riel@surriel.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_|SA1PR02MB9697:EE_ x-ms-office365-filtering-correlation-id: efee86af-5e96-415d-33c6-08dd372c5cfb x-microsoft-antispam: BCL:0;ARA:14566002|8060799006|8062599003|19110799003|15080799006|461199028|440099028|3412199025|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?2I0O15zmLenM48LBMzzAp1Y8MYIc4b+tpxzcEA04j1ADVnVbifXPZhZGsf1M?= =?us-ascii?Q?sCTdB9olWQXbfvWL9ujxyFoKPcesiaE8axVdKhnnSWMs1aUqQw1CvTvtccMD?= =?us-ascii?Q?fOkkQOw7PQxcWDImR0Nqdd1f3g8Dasfq4UIZSO+r8a38rq9fMNhuhJDj12gA?= =?us-ascii?Q?IojVeBnm7LntM4wT68V2dIqDHwhZn6KGgWwf8lSf4nPbTzqnnnFmusEfZl70?= =?us-ascii?Q?j4WxH96GP/GQ+FzgVbpBrWOP2HDLb7Avd0gZ8kJwLUfOi2wnhhAlOJyT4gvV?= =?us-ascii?Q?kyBmV3rP4Qb2LxNKKYl7AoJ4VL1AcHwPPV9MfdolhWxzdwjky7ERMfxlyN8t?= =?us-ascii?Q?N+69ZQrIwQMDFQjAUa03n8nNHoiR0fiRKccPj2yD250BLi5lLM5Rrui+N3f5?= =?us-ascii?Q?moXJ/3yjyJVMMCaHdJbhvkXQCddPqYYlopk8+M1ytUEd+aRKB6bOYLUV+nKY?= =?us-ascii?Q?QR2eO7Smhaahp3OhqPBRgSFeg86ZURqkR89fNwukAJsUmbAzuUj1lOD6Jcg4?= =?us-ascii?Q?HLz9jsh+eJhDB2CbrH/zBAEwZz7HIpHOLT97Uh8uoO7PYpYFXy3Y3AThJO0C?= =?us-ascii?Q?TI0GWdMjDlsBA/VAtLAYyHvqhWbp9kbl9rdvq6wXcdqNgKPxa1FNmuMWj0j5?= =?us-ascii?Q?gmhE0UErSYfID5fAzTz/6BUvSdwkfNxWyRf0Mq/DLBeOw2LB2kjM1LO1MdFz?= =?us-ascii?Q?035PNEehE+RW70bIwl/fRIz8Ph9RJwwDoWYAvt6c9nRyuFqbZYXfnYg9qaJb?= =?us-ascii?Q?Hjx0sNZvsrCHWnuKN1oOb1apGR5LCnoLx43XS+mmjQhKa5aX1XBvjJt3dkpO?= =?us-ascii?Q?XhZQUCIIViu69ee4jvKMJ5McLOHjbGhCGOYY0/ThRFzqzko4ZfJ95Ffht/nj?= =?us-ascii?Q?7qP7jY9ElrnZ5NW1hO/s5Z0UdKZ7T9zSh3GkU7+XxZaR4zMGxSVsORBZY/gH?= =?us-ascii?Q?KJAMcX83dqWiSgOc60/R5L8+Jkzj3Bs9q5eKsmTYzXV2McEpdSyK58Uv68/r?= =?us-ascii?Q?XQDCi/QQHlE80rSW1PQrkZVjpcdfM8sGN4RBmxzcuDuaO3g=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?DlKloHIn54WMhzsa/ybVBbaY9IYVV65O7TYMuaSoFwV/MOp3juPuZaVTxNo2?= =?us-ascii?Q?6xKuCOhfK4dDQjQWaxFprizwmndMkFnyUqtiHWADGAZl8jAvpUwpPUe6+IXr?= =?us-ascii?Q?ySCY8TAEBvBWWGeAQfZ3i65ZKMixncMWso5yX+A369FKEnUZHplWn2gtA8ZI?= =?us-ascii?Q?Io5fQHBGdbjdHgN1xVNphwse/qICZtttN2Af23BngaUTmnpS0RSm5hNQuYFz?= =?us-ascii?Q?pY1dsjfMroSK6++2IPhorgZuJ3lk/IjcHHnh4NiGGR0HDyWDI8aikY6GHN/G?= =?us-ascii?Q?cUWajegJ73d0RH9+S23Xr4XOjgUr23YzGqSTiAOh2r9iVZLr9OaOLkCglQT1?= =?us-ascii?Q?3V1lpIOcjUubJh1XTXWk39s/aIegeJYGOH5d6sbzPOiTg0HWr2cSsMM0F78Z?= =?us-ascii?Q?LsysLIhpOkh9tj6suh3G6fWYg64/U31+4YLaR1u606b5rnfm6DikajysVak3?= =?us-ascii?Q?HTWp1VGRmCHHVAtGzz8/k68rY4xzNhkTYgP49yUXsRFdXfQYLOhsQoLeBKRa?= =?us-ascii?Q?cL9YFzN3aSJPhLR6+6S32/SwlE/YIHwjOPSm1tsOmqqFAfTB9A+E8AgdTOdg?= =?us-ascii?Q?LgaL4l5OsfpD1BIxj9OB1Zc7m6Jaj9nOqpYsX+CAYVcn/4eKc4i9CFx47+Tu?= =?us-ascii?Q?dccjIAkpm3fT1JDdbt1rhjnOxKjxdG0ic7YxgpedGMnLPgCGwlYv7An/p71x?= =?us-ascii?Q?e4ajNbszkvqAdKfn8UfuMKhWZmJCmvNG89pbAR7IRjnJsj6yIgcCeaJhxDX2?= =?us-ascii?Q?xh7MzZbfbjlTelxlSE46gLxX6UH7NGbKT7hlR3r31gFT8tFiI3uIW6Z1V2bO?= =?us-ascii?Q?CKwvv+WPv++DCuswUmbk8LQgNxqb3hsG2vCqAcyixPertfL5bqVTX0FRVIoD?= =?us-ascii?Q?zfgncAkeMzu5JJbGTe8B1YNBeCO5rLFk9AZKhzZCcgX6v3QWi66fy3Oe79Tr?= =?us-ascii?Q?ClsML71X7Ij7c9qIaVzdpuvzT2rhXwLJBIgLIhbxnJVDqLmJ0qPQV+I8Dwi7?= =?us-ascii?Q?eAh/QOrwjZ8XPAfNu0cgK2QfK+x+nWvc0yymRxO8XY0mRmRUP25quF6s5Uxt?= =?us-ascii?Q?mZ/XIauQ7+2N2EVEcY4vT/rdViPWluk4HPOmzY1VVpOc3bz6blqLFMDsl0sa?= =?us-ascii?Q?7GL3iTAHJXPHF1Pi07pTb8Q/1OJre/jLYIULgTlCjC4ptWu2gyjK9WuBXgX2?= =?us-ascii?Q?JGE1Xv/EYstoKouWW+9EZAJkcdthOXpO6qzbyz4Cl+ik2OXsznyuINzzaN8?= =?us-ascii?Q?=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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: efee86af-5e96-415d-33c6-08dd372c5cfb X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2025 19:23:03.4152 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR02MB9697 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7AF311C000B X-Stat-Signature: bcxmyxuxd1rpxheuh5zu3fed87fb9xsf X-Rspam-User: X-HE-Tag: 1737141786-482581 X-HE-Meta: U2FsdGVkX1/Cyph2IK72jDbcQmyrtoJMf8Inzq3FmM04XhBfyBnWxKvHPpGCsCDUyNfUtyjgkhMMqMIyyIy70xo06jti3A6Ff8dGRKXBkEd9x+bLJmUvtvOqqxFvIp7t7sYufsuHFLfBaQK8vg1I/O/mBma2Fkiw8e6Jh0oP928GSxIa16EtLPKb6IBccSCSVCGabNyo84sexqsLCMaj1BeB78supfa8nNR3ZXYOoUTrNMU+fh0j9zkAvV0mQ5G7hG0amRrvk7tfWaox6nTvY0ir81H9MOy5R/hMqaXDZVISboMx1mvfkDe/3OQ7AB8GyxZsIbv2fMmlA98KdGEMEYHR3EWAWx1ax8GZc0EC/6YyUxO9swXzlQXByetlpBIqppQ5/jfNbRPhsAB0iLPjQBcEXzc019ZLVf/qHC20JNAuDU0hEfWOu/746Cxx4nnb4RJ4bd3qxIHH4jy6AMUNd1JGM4uf1spJ7DabZDV9uYQjyabTT8Xy9f0DPVnDi9VUARm1hLFQQQelDIeKblQ3GPXUo7aeXGGdwtxjl5VNNJUihAwrEYrrFsmoRzg2ry754RJ3BW+HXUnpQZDMmMDxVMJZymuKRCs3qRgUfpkF9R/3Ue91ePl6D1ErjfkpUiQauWINFK3SBT4V6HJHNZ4gIXeHA2S+qV+DE0peZnuMuMVRlvMG3gnOFo8MgEZrQbrWSVV0Z4huWTlCGy/Ejn/2hzHRDk6fOBbn8uRs3Mf3ttKYgzq6SjlmQVShhmbSauFmMsKXtNgtEI9T8N8EQ6ms/i+nktILFLznjhJKKUlipRg2wvpteX2o+fVXKtSdEid/9AKHtJEkH3fnLz49MiJew09wZNc7SttiM17DpVhHMlmpaBMUEELu+t5b9rTN1IHt3yc5vQlsCLg0Kf1aGVAzbG6s8+YcejDYipVD3pO4ImGhh1cbcxq163/Auq5K0w71qMsB4pv/NedKe+CEY/U lO6ksZZy 0z9s4PRgi2ru4K4xWIcjkIq9MaxYIGGuZouf+TCbQDsVW2d3J4d8hy9g7JQ18vVdABcBjE5cSTxju6Jb8B7pkv/hIgF9BPh+C3+/2rtG4maSdUoTa76o+uwwu4wa98Kn/tLKwC6KuFpMKgAFh6rQKldQSu+9COe/V/b9q0GvBjcD7S/qMlFk5J9dFyIX39/jOtIPQ1NIHKN66RpXfvF25CDiFoIc92mFIy1HvDkTPWS8SS3dwumvciv65lPYbJ63z6wUx3vZf2CbKE7QqNkqUJXxBV6pbCOSM61/zdd6f5JYwEyuWXd/KEjX0gcA5x6XWgFLigwfPC1Gf0o0jeBaAjy2XD5vKDrSiHva+14cNhQHHVVAaCY+q0fueIp16CE3OOGOatvyMAFP0/pFgiP9PwUDd3Ci6NdcClha39btO+vuqZBIiGc8DQbf7gi3bjvp0khhfPdvKHNvT1KG+3ISzNZXXk1NezewB4pcG2/3g/NxTHS4Y7+unOv4QCK54iwpnSlz3TeiDRJ25oyyhKIq5gWTXJWSHHeA8maMi3vzrTVxxNFDnS7p0tYimTTD04J7SUGKzrd6+z0LOV8XLnsD0CBQTeoXREH5lgZLhBvFW1w6b895vM46+yHs8qhW4c9ZNYLHl0QakI0pTPJU= 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: From: riel@surriel.com Sent: Wednesday, January 15, 2025= 6:30 PM >=20 > Reduce code duplication by consolidating the decision point > for whether to do individual invalidations or a full flush > inside get_flush_tlb_info. >=20 > Signed-off-by: Rik van Riel > Suggested-by: Dave Hansen > --- > arch/x86/mm/tlb.c | 43 ++++++++++++++++++++----------------------- > 1 file changed, 20 insertions(+), 23 deletions(-) >=20 > diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c > index 6cf881a942bb..2f38cf95dee3 100644 > --- a/arch/x86/mm/tlb.c > +++ b/arch/x86/mm/tlb.c [snip] > @@ -1089,22 +1089,19 @@ static void do_kernel_range_flush(void *info) >=20 > void flush_tlb_kernel_range(unsigned long start, unsigned long end) > { > - /* Balance as user space task's flush, a bit conservative */ > - if (end =3D=3D TLB_FLUSH_ALL || > - (end - start) > tlb_single_page_flush_ceiling << PAGE_SHIFT) { > - on_each_cpu(do_flush_tlb_all, NULL, 1); > - } else { > - struct flush_tlb_info *info; > + struct flush_tlb_info *info; >=20 > - preempt_disable(); > - info =3D get_flush_tlb_info(NULL, start, end, 0, false, > - TLB_GENERATION_INVALID); > + guard(preempt)(); > + > + info =3D get_flush_tlb_info(NULL, start, end, PAGE_SHIFT, false, > + TLB_GENERATION_INVALID); >=20 > + if (end =3D=3D TLB_FLUSH_ALL) This needs to test "info->end", not "end". In my VM on Hyper-V *without* INVLPGB support, the bug causes boot to hang as it tries to individually flush each page in the [0, TLB_FLUSH_ALL] range. :-) Michael > + on_each_cpu(do_flush_tlb_all, NULL, 1); > + else > on_each_cpu(do_kernel_range_flush, info, 1); >=20 > - put_flush_tlb_info(); > - preempt_enable(); > - } > + put_flush_tlb_info(); > } >=20 > /*