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 835BCC021AA for ; Wed, 19 Feb 2025 11:57:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED89B44015D; Wed, 19 Feb 2025 06:56:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E8881440156; Wed, 19 Feb 2025 06:56:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4FFA44015D; Wed, 19 Feb 2025 06:56:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B5DCD440156 for ; Wed, 19 Feb 2025 06:56:59 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 69C1216187C for ; Wed, 19 Feb 2025 11:56:59 +0000 (UTC) X-FDA: 83136542958.19.D25F6AC Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf13.hostedemail.com (Postfix) with ESMTP id 5F7F620010 for ; Wed, 19 Feb 2025 11:56:57 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=Szw9r31n; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf13.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=1739966217; a=rsa-sha256; cv=none; b=MWnwBtBIsBSYTg4/pc3u7g0R+WTQy1wGDjdtyNzgCLb8UE+NLtH2dBimvf5FxFpGmV/FAc zrLfxOWzVTxRTUF2fGUb3gdZ1IqX7oLXfv0P38TLZ48cnwp3eji7SMPN7X7j+hr7yz0qxt jRgboo+oomuS8Ccd0HDSivJHC/LgAEo= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=Szw9r31n; dmarc=pass (policy=none) header.from=alien8.de; spf=pass (imf13.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=1739966217; 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=15QSN8fo+MeIxF3IRynj17rKxLBOmTuOswde/QN4K/g=; b=JvHvetyntyKsmu7nyjQJN84jnpinlB68C0LS8QyMvj4WGD94DHWLcf72fMx4hZ+QKQg+Wc YMy4+pYWIjV+3b1dE3J1WcZDLVPnAjed1W2DUi+ufqo6nJTrPRH2MesJklVABIu0hztWGk /lmXmNQQ7ScyzSIMNw9hxxez+k7AyWI= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id A0D6B40E0220; Wed, 19 Feb 2025 11:56:54 +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 DyiDuI06pp0B; Wed, 19 Feb 2025 11:56:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1739966209; bh=15QSN8fo+MeIxF3IRynj17rKxLBOmTuOswde/QN4K/g=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Szw9r31npCBjsCs8i8FM3NpOu8hvtevZD+xzMyeBjl78ustxGe4xIVc1FwUtZXYM8 6kTdBljvG5d4R/HaId0k48XerJtQxm/2+kwAP2W3tIkZz0S9WVVtgIx2nDHS4ND1RE OVZ21ShLxOwMG3jmGx53Vn794H3F96Q2an9jNgytaXzyQH9SmQj14t0F5TvVuamNg6 MGXZkA29XUS1WCqYqIhQad+WDtuvD/xyNPchj2FWymP5aXkXPImegGzcU/qmmtxJaJ 2CEWRMHH+4yzDLrHKA/r1V4o9Weg2n8I4bnpsYQg295UBUvO+FdXRqcvZfgI/vgkD7 G3h9IeioakfJ+eXelUY57yuaB4NCpRnHBmkt2JeboYHFeiwaqfF9sEsa+yCNrJCxoI rXXpZuDq7LFtG4DcdSSW6xClouIr9sf0pvDQGKuQBCW6bCFXr+4n5kcIpRGds7WoMU 1GKPra0df36e4h1Rf6LD4m6OCA926BNGa41gpWEiQxmSoWX/+Z0o13TPYJyVsraa2b 2WkFeokfEd3EO6VpdvQpIeh2670IR2uMc208sTIwCgYo3Lm1yg/CBTbjQByH83woWd tRQMUBtKGJD/+7Xl7xx9tQOvPeOUBAXabkZpJZXR+DUK3kItB/zJ4V6VTvTC9bK743 LnGFB2Z1ShZXLdCeHwYNeXro= 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 7092840E0221; Wed, 19 Feb 2025 11:56:33 +0000 (UTC) Date: Wed, 19 Feb 2025 12:56:26 +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 Subject: Re: [PATCH v11 04/12] x86/mm: get INVLPGB count max from CPUID Message-ID: <20250219115626.GMZ7XG6s-5ftg1XLoZ@fat_crate.local> References: <20250213161423.449435-1-riel@surriel.com> <20250213161423.449435-5-riel@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250213161423.449435-5-riel@surriel.com> X-Rspam-User: X-Rspamd-Queue-Id: 5F7F620010 X-Rspamd-Server: rspam12 X-Stat-Signature: hir6typi4azibdcozxtin6smgyc9idoa X-HE-Tag: 1739966217-831200 X-HE-Meta: U2FsdGVkX1+hHGHw12Pdwluje76cBgF73XaMWhHC9AoVPKeswIr6WsecVibL4gAJPMuLsZyzPpqAZh5xjuxfH4JZaHIZ53oIqBSJoFtZlSjRoEivGgD+Gx90iqJk379z3yuB/t6pcnx3MLAPs7NLUNAgoA38a1VCwJFnfAQ4nIzZQR++7XG8Y15VnckMGKqrZtmnmpxFqMsD8353F3gwx3x1Bd3LcE4vS+ypuBsx8Gamj2bm1khDDDSLpieX7t+TYEqm/AZIq88DwQzVzk/xxc4y5RwMagqYOzYk5oG9+P7KooDVUY+70O/0L5RKa57zehAnwkKXzZ6sXKCr7DLtLnXCuSuWQic8txV8ML8F73w5kM2UqYT73KOZ6WbT/BNw4d0maYdbkBZ9m9f0/UW3o8gALK3pcYpcGan4ikF8Kf5+b+QYzfeJO1hHhgl1hM7eOE9hLJqXGEvbovEEdYRILAH4fRkSTgHx9qzpBksVUBtMmcDIVaxHnIQqQ9t7uQ1PmxYC2RXnDznbs3WdDKWvUYSbG2YHAMtbjnyUxt9TjECdpKwMjBXWrbQ0PW6ZOkYfpfP0V8IALrA37vJklnXJHUPFMWtbClcZn0x8XK4QkwOgVLqvtKcJDts+eEcLtbUoXy/mUARTPiMtuooTLaqs8qrTp8SU6fBrnbB9u8fCZ0Jpf2wNJHsqbf1jMTDERp/MKR7TNXIKl4zuhBXSNTl+K+FofvlLweXzn0b2ybyPTq7I4WmGHYRSozc01sHKavGJI2Gc60zy5Ml3mp/wci83Hj5AjfSCOSrxtWMOd5oFswmlHYVFvIz8MYqP4J9IG/yuG1MKDyLHgtbx2W+Klgo3pUQqP7FQ35Rt8z5dRTFqMc3ZZOJkrCzDIgnCuBT2uRplv1ydhZuS37MK/ff1hg1Smg91ZMozokZ2+w88NWW0xJQsiqEhuYXxK6DYTq1eWNjifr5Ymzgs41/+fr2mJIj JBuiX7jf r2gkkk5hRPCjor6uNviVLc4GR6baJJcFgtLXuc5fCOwXsLG+0KZ8FwuVEww++HLCfX3VO1+CDywN2/bCMeQnih0W0FNQCS1A1eboSt1C8shx4E2hFcxqO9mZ4HLu1hrmIexhDT7jS58bFtxFagHVT+md7EBw/Rb3kjpLk5tLuhE5McaW3SxbJZfixRhXVsWhQsMUS6Rn1bpKWt93t23N3UOnz7qnXFu1GrKtG1Kwb8kXSH6Q9pD8mWZmV0Ti7SQRsatcfJJRjpNtALGyAamLWN9UvAvFZkSwspzKU0c32uhHZIMkoqnr16otwwu7dnob51Cx6JmEAYkKYm/MyAVlK2ntXGyVzgMbVWOu1g/FmLLZ/DnST2A8R/A5CQf07/BxytsiiGTqzY1B5lmam7vPJGvQThOqqD9OLtQx3RTofWKgdOPzWyHinyo+rZe5nD7NjgGV0FpUB9IUAsFV+hc9dUpd5ew== 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 Thu, Feb 13, 2025 at 11:13:55AM -0500, Rik van Riel wrote: > The CPU advertises the maximum number of pages that can be shot down > with one INVLPGB instruction in the CPUID data. > > Save that information for later use. > > Signed-off-by: Rik van Riel > Tested-by: Manali Shukla > Tested-by: Brendan Jackman > Tested-by: Michael Kelley > --- > arch/x86/Kconfig.cpu | 5 +++++ > arch/x86/include/asm/cpufeatures.h | 1 + > arch/x86/include/asm/tlbflush.h | 7 +++++++ > arch/x86/kernel/cpu/amd.c | 8 ++++++++ > 4 files changed, 21 insertions(+) > > diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu > index 2a7279d80460..abe013a1b076 100644 > --- a/arch/x86/Kconfig.cpu > +++ b/arch/x86/Kconfig.cpu > @@ -395,6 +395,10 @@ config X86_VMX_FEATURE_NAMES > def_bool y > depends on IA32_FEAT_CTL > > +config X86_BROADCAST_TLB_FLUSH > + def_bool y > + depends on CPU_SUP_AMD && 64BIT > + > menuconfig PROCESSOR_SELECT > bool "Supported processor vendors" if EXPERT > help > @@ -431,6 +435,7 @@ config CPU_SUP_CYRIX_32 > config CPU_SUP_AMD > default y > bool "Support AMD processors" if PROCESSOR_SELECT > + select X86_BROADCAST_TLB_FLUSH CPU_SUP_AMD selects X86_BROADCAST_TLB_FLUSH which depends on CPU_SUP_AMD which selects X86_BROADCAST_TLB_FLUSH which depends on CPU_SUP_AMD... Why do you really need yet another Kconfig symbol? Just whack X86_BROADCAST_TLB_FLUSH - it'll be enabled by default on everything anyway. > @@ -1139,6 +1141,12 @@ static void cpu_detect_tlb_amd(struct cpuinfo_x86 *c) > tlb_lli_2m[ENTRIES] = eax & mask; > > tlb_lli_4m[ENTRIES] = tlb_lli_2m[ENTRIES] >> 1; > + > + /* Max number of pages INVLPGB can invalidate in one shot */ > + if (boot_cpu_has(X86_FEATURE_INVLPGB)) { > + cpuid(0x80000008, &eax, &ebx, &ecx, &edx); > + invlpgb_count_max = (edx & 0xffff) + 1; > + } get_cpu_cap() already reads that leaf. You don't need to do it here again. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette