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 BAC9BC19F32 for ; Sun, 2 Mar 2025 07:07:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0BE526B0082; Sun, 2 Mar 2025 02:07:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 06CF46B0083; Sun, 2 Mar 2025 02:07:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9F2B280001; Sun, 2 Mar 2025 02:07:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CB8846B0082 for ; Sun, 2 Mar 2025 02:07:30 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 5AB90162CDF for ; Sun, 2 Mar 2025 07:07:30 +0000 (UTC) X-FDA: 83175730260.15.9AF641F Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf04.hostedemail.com (Postfix) with ESMTP id AEFFA40006 for ; Sun, 2 Mar 2025 07:07:27 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=Zs8748UP; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf04.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740899248; a=rsa-sha256; cv=none; b=8RhmXNbn5gusCTQU03jYNVBjQH9/hz7yNuOZav0W9gMvV9JPWLqqUoniccDOLl7Bg3uuc2 BoDYdhWdOiEk+FrIPChlH+mkBaP5Ip9L6Upn08K2tZsfx5OWCTPvTa2UA/6WI8mswlOu2s f/7oANEhHPMd8NSFJhQzVDUH4jDU2Ts= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=Zs8748UP; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf04.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740899248; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lLba2xpQGx6FAfKVazzHChORkszDX51lkuKQTDG7Akg=; b=NUPOBydu04sUK0i87Gb8dLxXd5X/5w6xBqAWPuXP4uimUk0iJTfx4dclmXQfBdusK73tPs EvsHzAtuimmCxqm3cQy7AdcX6RB0Jj1OE/Qe27wz1Ohk2Hw0W24GSZpVJz6QBx34zaxsQO iKYf6hkLMTKjemJ1pAe6YdEP5r47ArA= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 0BD7140E0184; Sun, 2 Mar 2025 07:07:24 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id zckmVIv14FMa; Sun, 2 Mar 2025 07:07:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1740899239; bh=lLba2xpQGx6FAfKVazzHChORkszDX51lkuKQTDG7Akg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Zs8748UPnshe6GtiTQWeuLHy5ng1We7LaExBf/jGuiyPyWPp62J5kkR3rlhZR/a2c onxeX2pvvgNT14rN00u/x56bOWhCmtYeYfyiBgWsGAsARKNodblUAscQXIXr6tfVDz CAxhWT9Dljs6SBVrSXkGFQoHZRvAKnNTpg+28WgUMcYXcjGhzxsh08rG0lxThDY6c6 LypqZxu57DHkcR4/aFYUtaPa9MGCtVkmai3NLg/MYfv1HcvGsUpJnQ5SbgS0nJYC6N zayRGFJl9y6IRoE0E9fmn0kitxfp7D8tlfMcse12oHETgHqvzyiFjO//Ljlu2nBiou jLA5NAkJ0MVYRGbmwokqay/PIxQa/dmr6JQ25N8hI8QEC8yXT+XM2g08//9vP2XjAq 7yR3LpXFE4aPhsvD0Ycy9+rI8l0LOi5gEfl/DGwlggQ7ddRMQtZKEo6Kte+uPKNF0V rlnqkZEklDUP5z2aANHyHAWFfCRIKNJlleZeXeTmhQfShVmbeuUC9lBF71NG1+WY36 jOL6zlz0GfydCwNmiAR4XTN8TyjS49D+yC1exN+soSQb0dcbpb5Xfq8T6dmyzSVt6S ckcXca2DFWHaralm8VLFFCEb3vkDzSpwreESDCwARigJ88lZQbS5AnctDNHt+OYZxe 86Kp84DGJWw3oA4R6jq6iI6g= Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id C62F240E0028; Sun, 2 Mar 2025 07:07:01 +0000 (UTC) Date: Sun, 2 Mar 2025 08:06:54 +0100 From: Borislav Petkov To: Rik van Riel Cc: x86@kernel.org, linux-kernel@vger.kernel.org, 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, jackmanb@google.com, jannh@google.com, mhklinux@outlook.com, andrew.cooper3@citrix.com, Manali.Shukla@amd.com, mingo@kernel.org Subject: Re: [PATCH v14 07/13] x86/mm: add global ASID allocation helper functions Message-ID: <20250302070654.GIZ8QDjih21cExg35g@fat_crate.local> References: <20250226030129.530345-1-riel@surriel.com> <20250226030129.530345-8-riel@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250226030129.530345-8-riel@surriel.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: AEFFA40006 X-Stat-Signature: 38qr713jm68g5z74j5ar936awk9adeyd X-HE-Tag: 1740899247-394945 X-HE-Meta: U2FsdGVkX19XVQrt7KUiYxEVF8owqo0OD31DQHWRcq4xSD1YswJ7i+zZffGcdTzmvPiLnnDxqrGQKgGSKJJrFtCEgT018ni1Z9MUdKvIxZ8bPzLHxfAsphRuoLswVObsBnm5O4Ah/vEo3nfE8yWRdIqa0i6VIyFMB2xp4l+zPA9e1Rh2vIJm1vhAwdM4IPj2BROMZAqyFfh3zbEsL9VgkkVLiWWKiDQxOI70+DsJwEPCNPWnXd+q1l8sWIk7gQekYl4SIpLxdQdVWnMaFv0t0CVPNm6cN1jI6bbZxj/Mq3NT6ocWcCecWgm2khFmdwVCYo2KmIGRLVfWwX2qTuEk7Q8lkGmFDo25UxdRZpq+sVPSOJxlGMGC7+mrdD5vYyjjsn0zL+m4B8xULt8pkCCGLS+8BOIj7iNwKDxJCqeVlPx01F2fQAAFi1skuqtbaBF9fzHYVv+PFWYnG3Ovkwq5/vzlHkwps3RUsaAXqDV98Nx3NvoiRFlbKC4yRt+26vArwPdsyPM/fnx12+cHT/Mo6HnjHHsEWW4HgjseH0cP5Zt5Ucc9kF09qTWu2/rmu/F7VeDgw20l8OivHtAdiCeN7MfhTJcSeZ3CT+m4uv4iCWKcNZeyoTwR6eGbEXAC9xwKzHpqjtsMV0HNukOAiw99zw4mzphro/N0AoiqKHbkClL5q64HbdjNnOYchArcmExGpWnQoZE4PrimJv1CkP0yTRjenBSS+uFptlYYpjgEYpwEaUy/WQ7YP8NCr1a/53v38zYwHQGI4r73qrmDzDcFC6ZN7m1iphe9L4J9ZOGEOyoWrG4EGS5J0aiTKtv01kkOwBfbJFMRT5ASFvNGdOuU1cUUYsisKtlIbNzD8nuC9s12vwzs2jQ1FNCsmmPBenyB8eBw7snJT2EpfEsQvs8rCbdGDe5ZK3F6KIiK0ThMPkNvjxyG1qUNmAnwJuDLPeezU5vK1GNYt0mJxfZeW9S H/SQUKYZ 14m+6vOXlEbG8MJsrdvNF5q1boRsLuzNpJLHSyOWtovznBgau8SVZB8pq1L3n9QoZ0ctws7cWOVEYPrHm0uc2M4czmjNhhAYN5G8Mm9doKR7INngcb6AAZrdBX5iHU3/nj/K1H2lb6sRsYL1GuvEq18Gvang1OSZg9A1Zm7ncwPJVinljYXAZCfJ8jMC+AlaxwzE12TdlWdhHIiqp3MF1zx6F+oXqXvDSan6YVKHolkgKq+e4ybOqfW75aYkIu3YmIMImbgsbYoeow4kGH7e2MelmyuTvPCtR03nBgTehewHPFWQhNEyJ+w5E2zK7/N20pkEGuOqjtjUypb6R7O6Xr3XG7sG3yBE2zILYS6uX8WyxS8Rs26q9Qi5bupEs5Ego7bYAuD62nB1nkiauEFPZ1+ZEhGSbLCgpqoYziN1zt52/ztprrJnxS1gV80TcTelf61NSJ+fUKOe+UqmIa+2CJ1KfeQ== 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 Tue, Feb 25, 2025 at 10:00:42PM -0500, Rik van Riel wrote: > Add functions to manage global ASID space. Multithreaded processes that > are simultaneously active on 4 or more CPUs can get a global ASID, > resulting in the same PCID being used for that process on every CPU. > > This in turn will allow the kernel to use hardware-assisted TLB flushing > through AMD INVLPGB or Intel RAR for these processes. > > Signed-off-by: Rik van Riel > Tested-by: Manali Shukla > Tested-by: Brendan Jackman > Tested-by: Michael Kelley > --- > arch/x86/include/asm/mmu.h | 11 +++ > arch/x86/include/asm/mmu_context.h | 2 + > arch/x86/include/asm/tlbflush.h | 43 +++++++++ > arch/x86/mm/tlb.c | 146 ++++++++++++++++++++++++++++- > 4 files changed, 199 insertions(+), 3 deletions(-) Some small touchups ontop: --- /tmp/current.patch 2025-03-02 07:33:13.913105249 +0100 +++ /tmp/0001-x86-mm-Add-global-ASID-allocation-helper-functions.patch 2025-03-02 08:05:23.613262232 +0100 diff --git a/arch/x86/include/asm/mmu.h b/arch/x86/include/asm/mmu.h -index 3b496cdcb74b..edb5942d4829 100644 +index 3b496cdcb74b..7fbefea5fdae 100644 --- a/arch/x86/include/asm/mmu.h +++ b/arch/x86/include/asm/mmu.h @@ -35,6 +38,7 @@ index 3b496cdcb74b..edb5942d4829 100644 + * hardware-assisted remote TLB invalidation like AMD INVLPGB. + */ + u16 global_asid; ++ + /* The process is transitioning to a new global ASID number. */ + bool asid_transition; +#endif @@ -251,7 +255,12 @@ index 1cc25e83bd34..9b1652c02452 100644 + if (mm_global_asid(mm)) + return; + -+ /* The last global ASID was consumed while waiting for the lock. */ ++ /* ++ * The last global ASID was consumed while waiting for the lock. ++ * ++ * If this fires, a more aggressive ASID reuse scheme might be ++ * needed. ++ */ + if (!global_asid_available) { + VM_WARN_ONCE(1, "Ran out of global ASIDs\n"); + return; @@ -284,5 +293,5 @@ index 1cc25e83bd34..9b1652c02452 100644 * Given an ASID, flush the corresponding user ASID. We can delay this * until the next time we switch to it. -- -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette