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 BBFC8C021B5 for ; Mon, 24 Feb 2025 12:01:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A6B96B0083; Mon, 24 Feb 2025 07:01:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 356B46B0085; Mon, 24 Feb 2025 07:01:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 223056B0088; Mon, 24 Feb 2025 07:01:19 -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 9FBBC6B0083 for ; Mon, 24 Feb 2025 07:01:18 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4B38B47E37 for ; Mon, 24 Feb 2025 12:01:06 +0000 (UTC) X-FDA: 83154697332.12.3D88DA3 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf27.hostedemail.com (Postfix) with ESMTP id A70E840017 for ; Mon, 24 Feb 2025 12:01:03 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=VE37eNQo; spf=pass (imf27.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de; dmarc=pass (policy=none) header.from=alien8.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740398464; 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=WOShKx94UTiVDUhBh2Fmaq1YAYEq4dRJi/kTFuV7oi0=; b=lrvp5RC5idgCwLv76ygvm/5kGU8OeHNZtuUYWqes61enBsnhZG6chfC1CLd6dSjBIGYScn haiP1a302pGaSQO95oscq2IVtFPMMAlzycYeWNeVmnnWDE/tJzzyqry/GaQn8elC4SvkEl NkGPYi7cM3wI48qiU8wVVNeU0zUkvwY= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=VE37eNQo; spf=pass (imf27.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de; dmarc=pass (policy=none) header.from=alien8.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740398464; a=rsa-sha256; cv=none; b=fbRyvTb2J8PrGcqz60x/HTmLPWXpGXwBqQ4zUKn586QLYS1oyQeuxsUI6fEDAMJ6+jhdy9 Cq+3iLLdxKvYzdE2NebGHZeWVtwAfN/72AAYC7hBK9GgPRLS052JoUTYmsPTki3aPWFBHx PiyIGY9dWy8XbgRVul6Ykisz0Pyl/aA= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id D441240E01AE; Mon, 24 Feb 2025 12:01:00 +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 U99NsmQKFJ-z; Mon, 24 Feb 2025 12:00:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1740398453; bh=WOShKx94UTiVDUhBh2Fmaq1YAYEq4dRJi/kTFuV7oi0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=VE37eNQo0dNHsN/toHyi+qm/3i73IZEMBqKYzbvizWx1jn2hHSxO8BbjKOOuHhbSj ZL+ry2+XkcQXr31ymsBSufPkIa06eEtagvzpBoe3XO6LCNSNw4Nj6EtSI8aypuapyX euoAXc8zkvgrVUHMy908qMU2dhqA9ARFqfYUqT4iusRvRV0AC9t9b55CoGgnF08EQa k7x9Xeh72eZ3UUPRI9o+rpYdSqdaGckE6HbmEHba3wsNqqdUsGPJSDTJ+FxV6PJBA7 +sIM7QUSpWHK50DsrjsVEqw02xPXrb0b5w+nVQ7YbVeaaGxX6X2kcZG1X7Ck7Sd/4u Vp/WmqKNxZMjmXjy2HSTXcZVAbR5dyboSsLesVZ6XFzfAXMnreLGySOHNX0JHjhm3S WR3I3TqdwQ8P+Ts5csT1Z5vz3dLWHF95BjWgATYaMIhhiqm3vtt3fOPX6J/wV1hXEJ W76MSfKQvvpkXyCE+T3esCk9ZOK3cuSuKbB6Ufg8Wstrd+syHcpF10NVdWlxFZ8i9r D+ROesREUtLp22T06FAM7rT1V/jpJ5DQXzN9Mfx3IzZrxvsxZ7ri+7BFlNHqCEhojW sCX1lGwmZydMm+5KUn61er5llFYlaAImOiPGA78ikAhnDnuxfepZ1rh1tITnUcCTFw SbVKfnvnw2JbTHhCZxQhX90o= 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 7EFA740E0184; Mon, 24 Feb 2025 12:00:35 +0000 (UTC) Date: Mon, 24 Feb 2025 13:00:29 +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, Dave Hansen Subject: Re: [PATCH v13 02/14] x86/mm: get INVLPGB count max from CPUID Message-ID: <20250224120029.GDZ7xfXV3jMjnbdbGl@fat_crate.local> References: <20250223194943.3518952-1-riel@surriel.com> <20250223194943.3518952-3-riel@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250223194943.3518952-3-riel@surriel.com> X-Rspam-User: X-Stat-Signature: kz95nugqqo7ta5mw6em74ze483xh96sq X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A70E840017 X-HE-Tag: 1740398463-138705 X-HE-Meta: U2FsdGVkX1/XeDary868eJbKMReBYk3ME1IvSdx1IXknleUDeKwxBHguUP1RcAhWcfn+wULJ6UwOHEjafZBwE89PX+d+yi8UKW7je40UtwIwbDx2PahM2R4Vkjhg54Jv2xMlk55OagIradveDShn0IsvIoNS2Pg/wZmKHA9Cmri7cvc/aG46E5Ca2+fpDrj+BWajF29VTpjM2R4D/ESGE/gVi2KbDQxSlS/+m9pW9a43yfhir5U3mMfnMc2nFCj7Y4FF2MZOtLX+7LsgQyXdPro2awePfkYtaF4+9YCtS8GsSNg9rY/79GWeRZfsWvpiuw0nMjq2Lja7FX/IT4U8bBA4ylI8303Ng/XvR2HPJubYVF4Q7Vq/jDAFMXNHRFpK1kR9253gVM3kmbG9dtAXbbiwub4JuXX6pHWTDOyABK6qu0yNkCBpr5Fgcy6GnesqwJmMDdrdRTUDelJ+8TXbvfVKEK63/Yu+aiZ8cix1HSVYMxn6GKOLlQ3Sca/YrdTBNNGHjFCHzqxmGeCvEmj/BHYhmgkmAoOSTGci7XWxZJlxkc46rtsIFGyfUXi+q7SsfKYP95LEwI10NImeIp/DRO6Ow1ycMmdR/PF537Tz+X3n9L0e514G1Av/I9Zd9Lbt1D6T/hk9h0rpExWxqnydcwcNM9BxVo9jr0qEDGAQ5u8UQJfXzWbYUWcJw7y5bCpMfIhNQiimZ1s8cn6urIUz+AA+RqnFpwJ1N6ooE4M+FBq7E+ZmyMrhBjYs6oWtjgHKHxmTBLn5mmDblbwpci4oVjR5JBOb25+JOFodK6JUf6SzptLY1JVWPUJiC8CXoQ38lkbt+EH8HSmGALpBFzDC7Kj82BHuvBjLXxiEMy2TOEvwEuewfOHSXmvEJ1PuA8tdit1/j5oiqqNxGibry7lv07RzMGNbmDfP+qzmY1oE4qu4HnISIr57AOI1ezUv8cQoppD9thadtVozrvyMWHD qMYE9g5M 1U6aTQ3MSqjbreZ/zgj2X4Jy6a70x4K/KTsTTd4szh/ZV7HrFR6ueHMF3iU8SL8RXKHauy3At3zjXwvIF7EGWBJ4x/1m57ysjgAaNJqa8vFzyyMBP6lYndByHpCKEUvXQb68sreTGbvbsqWX/p6mFF01IatkeRUp5z7cXrp1y/ealtQUf4YBV92GeYRj1QrflNZoRiNlaIf7MrIMGQ5Um1s0YHZiE8NBivc83wPe4iHEytwqSYJM8OeicVCEDIdl8inQew4DE91dpp13kk+n8B3x+gbOmTUwHIWae470fVPlH1rvTBKM4XfMKuogLTaZpuKaZkwCR4g/uwZO4/jTYGQD7qg== 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 Sun, Feb 23, 2025 at 02:48:52PM -0500, Rik van Riel wrote: > diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h > index 3da645139748..09463a2fb05f 100644 > --- a/arch/x86/include/asm/tlbflush.h > +++ b/arch/x86/include/asm/tlbflush.h > @@ -183,6 +183,9 @@ static inline void cr4_init_shadow(void) > extern unsigned long mmu_cr4_features; > extern u32 *trampoline_cr4_features; > > +/* How many pages can we invalidate with one INVLPGB. */ "... can be invalidated... " Please use passive voice in your text: no "we" or "I", etc, and describe your changes in imperative mood. Bottom line is: personal pronouns are ambiguous in text, especially with so many parties/companies/etc developing the kernel so let's avoid them please. Please check all your text. > +extern u16 invlpgb_count_max; > + > extern void initialize_tlbstate_and_flush(void); > > /* > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c > index 54194f5995de..3e8180354303 100644 > --- a/arch/x86/kernel/cpu/amd.c > +++ b/arch/x86/kernel/cpu/amd.c > @@ -29,6 +29,8 @@ > > #include "cpu.h" > > +u16 invlpgb_count_max __ro_after_init; > + > static inline int rdmsrl_amd_safe(unsigned msr, unsigned long long *p) > { > u32 gprs[8] = { 0 }; > @@ -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; > + } > } Ontop: diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 3e8180354303..7a72ef47a983 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1143,10 +1143,8 @@ static void cpu_detect_tlb_amd(struct cpuinfo_x86 *c) 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; - } + if (cpu_has(c, X86_FEATURE_INVLPGB)) + invlpgb_count_max = (cpuid_edx(0x80000008) & 0xffff) + 1; } static const struct cpu_dev amd_cpu_dev = { -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette