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 859D6C282D0 for ; Fri, 28 Feb 2025 19:28:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ACF09280003; Fri, 28 Feb 2025 14:28:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A7E81280001; Fri, 28 Feb 2025 14:28:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91FF2280003; Fri, 28 Feb 2025 14:28:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 75BD1280001 for ; Fri, 28 Feb 2025 14:28:20 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E214950D54 for ; Fri, 28 Feb 2025 19:28:19 +0000 (UTC) X-FDA: 83170339518.01.E0BCA85 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf05.hostedemail.com (Postfix) with ESMTP id DB066100004 for ; Fri, 28 Feb 2025 19:28:17 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b="Ht/lGsCH"; spf=pass (imf05.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=1740770898; 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=hbKSqT5ogdcwFG9GwwLyiZqAO8sr+LZDOMZ2DyDjSpw=; b=MFWUVKjgERLtXdliNsG+vaO+qfDHC2ncK8VXRKI7kjDs/DouF+fAL9Mp3gT1yNSuEFFFfi qDH3wTKJovYbNDoAla+tAoqm2UUtI+V6ZdfF/jIl3wWef1Aepu1Llx4Ad9DxZrv4P2JnTV wcm8Z/eqi37nOzEdb6mWMtfBkWAWBpc= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b="Ht/lGsCH"; spf=pass (imf05.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=1740770898; a=rsa-sha256; cv=none; b=4CTMRCUsmM1ezVrIbY8DhjUNKbppPs25OmNU7PA/zdgw1zeTulxya1D8fAiB5G1xu1ywHV 5O03xGvNJ6rUXO0N2kI6hHnUzKI9O4oUvO7tg22SZTzo+H/9QITojhEfDAd/JW/pcYk1y3 D1pVG6FGb/OavYhJ4Vhwfnfk8dAy/dA= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 195A840E01AE; Fri, 28 Feb 2025 19:28:15 +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 Zk7zKt3Z1Gos; Fri, 28 Feb 2025 19:28:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1740770891; bh=hbKSqT5ogdcwFG9GwwLyiZqAO8sr+LZDOMZ2DyDjSpw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ht/lGsCHgAlua+8daF04DXGqC7WPz0wygWFN8zRTqMnFFDrvMQmS0L2raMSrPHZCc s6AIDxkWnMj0fhhASTz5uia6R4Rkk17ePut6uElEanlA1QS4xiNKKdK1wtSTNU0WQa KLvMlbg5Pwm/NWElXZR8sA7DeqrEMsNN23EiDwAbfhC59WvxAbwRigHjUp3ShDyl0/ jTmXOHedL/ksMfDbcdB0f2Y2e1oZFfWwfxeRj9XSfg/0nmhWuWA0ZqjnjOqqbyEEnY x1gMqgjUsCLl9jEW9WqZGd5UpsIZAi3+hFbS298WIDbQrL5y1vDUCTZvkcGeDbDWHq MeOp3lvLxC+GDUZLV1FLRk1T7As/BezKAz47+MISdI+yL/JQ7hXQSKT59hyM0n29A+ Yoi5EX13MG5jyvJP6KiDkX8y8bd0GyrseZaRCInjK2Einl8h2yLE0aAxB8oSZAXIED QDhofx7SZRjKVEkT8bTEKf518w0C6JlsgNEF7StY8G3u6ciso0Qsyg51Tc64eaznNi J+bC93oJkwgaE3vHbQfhjQtTAySqVMtfnypyrwGfSBMOADxu0sIVQWBQTb5R7qR4BR gJP1veaqXWHWfQfu2Q1MMYK+4Pc86R6R2zY/gsR8r7ZgSxoih9OPZ6y8wZCSPuJay+ GiRQ41XxlZsA21dEI4GgujvY= 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 A615F40E0173; Fri, 28 Feb 2025 19:27:52 +0000 (UTC) Date: Fri, 28 Feb 2025 20:27:47 +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 v14 02/13] x86/mm: get INVLPGB count max from CPUID Message-ID: <20250228192747.GFZ8IOM2WkIx1lbCt1@fat_crate.local> References: <20250226030129.530345-1-riel@surriel.com> <20250226030129.530345-3-riel@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250226030129.530345-3-riel@surriel.com> X-Rspam-User: X-Rspamd-Queue-Id: DB066100004 X-Rspamd-Server: rspam09 X-Stat-Signature: fqiosh9wgcccri5wrhn3z3acmtq43zba X-HE-Tag: 1740770897-158161 X-HE-Meta: U2FsdGVkX1/L20fthpHLgi/5/ev+/B0qmFacXz6BWfSF12Vd7bO/k42kN9buOgmgppFZ2DEfIRwinb5XS475j8MFDowJTgE2ILexfW9QJPxnNCT+7YRT1vaNN9xEbOL/ke2xxr2/XYUyPjTxDtIfZfQJ4um26UiVlp0sg8M1Vjl/2azysXRmlnN7u+Qc7zbXkIdBKgD+SFJDdBvt4coUD4nWVR+soyGXoC5v2cBOYUoDPkkpc2sY3hRSAYKzt53Z3O7Qh4b6pt460IwjGvlKBEruC0/2Hvkr27uoM6+nIP8PSLDiyhmwDrnXSs2mjTPg3wuIwSV2zVzJS2R6Mf+EWVhfGM5rTXyNncecvcaHVfiby7v1jcCz3yTvIvNed0jUJtEyiJQFI7oWvtFrLqHVaNNThXZdF0IKCGCLZFiJBAoVxfpSbtdPknmfh3DLiRkD/VSxD5GnDE85EsmstIihsXon+xzHaOao5fsd1ADqALzH7SjoGNRWM4TZa2q/m8LBeFbd98JAoNBPbZCGXECguseKukU0nnm/hJiov2m4l6wCrDg9VP4gEQ4HnA3UoViwSknedR0ABv9ZVbopj4dNzftzw7U210Jsx5qT+WSUQrhsQ68WGE+UOwVmkVu4XlQkKb4KOyezt1OHmNSc4he2xAHcqZmQBf2G9NIa6wQHfu+DaOTm90ek+1li4YImpSqhp+uWT8fWxGisrqSGKTv8ch7e99QhCuImMzzH712QIe4UgiR9suwynfDmKmXwjL5MmfvBrkzNrewBkLtRcT//ns28GrmFQgk3n1vhcCGAJY+8tQWyYbMTpE/eALuxR/Za/Dj1CRcUuD8+NwhEI5P9bZoe0dKKpzbSsxerBMoIC5tf1ICYZIv5PJ2EPZ9hWhc1p3wCOWT8je2NqG8R8AoJycmQ7nNVpC/U9BbcEe8nz0tWsmbqwiyz1l2iVwZNeC92W/10EaH6U4tO8WIfASF zonf/Knz tujwkHVvFEHuJho6VAJAGZF8teHRA/NJqF7LIQEfilEth6xlkrkNGCLkAe2XpNR2hMTE7YkKwftLQ42oQ/cLWMAfhJ8LJGaM9uAxUNxcF2+SSs3pSS9mjn6Fy5iTHU+pFN7bIBrIbgsodyLXC9XFpMcgvyUOSHpryDZNbpax9gqpeyAb1rvMLog5ScEwIvzZw09ljaBQ0+Pd6zX6D6bWXVWssRyGP8uN0hlbKWIGbNv7/qyBJKqWHXNnUhdpyW2Icv9fN9sU5pfPU2q/7RGzojOpEXs7d7ozpW7Hcfa86EVVH+xOZDzZdNIR0eSXO1C3Qqcb3pYxLPZy/30s6exXLc7CF1oNcuVhoa7XakwDNkN/SiI+nTp+IwZjz1m34eQdtfKw5EIbQFB5sz58kY0GUYY9fgBFUAUyXbVrfyDjSXvKVQBM/e/FC3eDXzdujRmD0V9K4r1N71LXCkJTKWVFoChL0z+I65d2v2thrP4oajLToh4cZd9XGcErNgw== 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:37PM -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 > Acked-by: Dave Hansen > --- > arch/x86/Kconfig.cpu | 4 ++++ > arch/x86/include/asm/cpufeatures.h | 1 + > arch/x86/include/asm/tlbflush.h | 3 +++ > arch/x86/kernel/cpu/amd.c | 6 ++++++ > 4 files changed, 14 insertions(+) As discussed, changed ontop. diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu -index 2a7279d80460..981def9cbfac 100644 +index f8b3296fe2e1..63864f5348f2 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu -@@ -401,6 +401,10 @@ menuconfig PROCESSOR_SELECT +@@ -334,6 +334,10 @@ menuconfig PROCESSOR_SELECT This lets you choose what x86 vendor support code your kernel will include. @@ -37,14 +36,14 @@ index 2a7279d80460..981def9cbfac 100644 default y bool "Support Intel processors" if PROCESSOR_SELECT diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h -index 508c0dad116b..b5c66b7465ba 100644 +index d5985e8eef29..c0462be0c5f6 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h -@@ -338,6 +338,7 @@ +@@ -330,6 +330,7 @@ #define X86_FEATURE_CLZERO (13*32+ 0) /* "clzero" CLZERO instruction */ #define X86_FEATURE_IRPERF (13*32+ 1) /* "irperf" Instructions Retired Count */ #define X86_FEATURE_XSAVEERPTR (13*32+ 2) /* "xsaveerptr" Always save/restore FP error pointers */ -+#define X86_FEATURE_INVLPGB (13*32+ 3) /* INVLPGB and TLBSYNC instruction supported. */ ++#define X86_FEATURE_INVLPGB (13*32+ 3) /* INVLPGB and TLBSYNC instructions supported */ #define X86_FEATURE_RDPRU (13*32+ 4) /* "rdpru" Read processor register at user level */ #define X86_FEATURE_WBNOINVD (13*32+ 9) /* "wbnoinvd" WBNOINVD instruction */ #define X86_FEATURE_AMD_IBPB (13*32+12) /* Indirect Branch Prediction Barrier */ @@ -63,7 +62,7 @@ index 3da645139748..855c13da2045 100644 /* diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c -index 54194f5995de..3c75c174a274 100644 +index d747515ad013..0e2e9af18cef 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -29,6 +29,8 @@ @@ -81,11 +80,11 @@ index 54194f5995de..3c75c174a274 100644 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)) ++ 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