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 937EEC021A4 for ; Mon, 24 Feb 2025 13:27:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2390B6B0085; Mon, 24 Feb 2025 08:27:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1E8586B0088; Mon, 24 Feb 2025 08:27:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B05A6B0089; Mon, 24 Feb 2025 08:27:47 -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 E218C6B0085 for ; Mon, 24 Feb 2025 08:27:46 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 88543B68E8 for ; Mon, 24 Feb 2025 13:27:46 +0000 (UTC) X-FDA: 83154915732.11.C16BD3D Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf23.hostedemail.com (Postfix) with ESMTP id 69EDD140005 for ; Mon, 24 Feb 2025 13:27:44 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=XUH5JFaZ; spf=pass (imf23.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=1740403664; 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=nU4YjKrCdJrQ43SsXSMujezi/S/NNo/oWAq01RiCUyY=; b=LvO3QGuyQiZHQt0t9QpL4EWUGzGF/CLilh/dq9HYG5PPMtIzEbWNmGF1ra6epGiaQ2HR73 qn48ym7CF6fU4b77ajOKYMEt/ug2LGczw0K7K5T+vYkGXYgwcDwzF+6QFtBAZ3jEYpot3y 7dkloBtegttbyMG9pCDijt0YqoMCQck= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=XUH5JFaZ; spf=pass (imf23.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=1740403664; a=rsa-sha256; cv=none; b=H4xz0AllBWf5FoiCD88ZpX6lAGvzJ56r7FN5FfJ9VWG8BPZOPnZkBJJeAnfg6yUKLmAg8S es5d9732kLpU6fPRnAemoMW6V+l6QCxKuJeDxgHFiHtpATIRNougZ3QaNqU2ZCSdKT9H24 S/sRq7xSYd6D2ozRFLazQ6hTDRPJgz4= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id AB96340E01AE; Mon, 24 Feb 2025 13:27:40 +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 D40K1DOUZCW5; Mon, 24 Feb 2025 13:27:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1740403656; bh=nU4YjKrCdJrQ43SsXSMujezi/S/NNo/oWAq01RiCUyY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XUH5JFaZgYJJSSFgf5faHLPM8O8RDdEgsSNkw81Ph+aEJrcF5x698AuVCK5BOuLy8 xsdNhicmqam2etoK4s8wlriNhUpOeLwSdzdAZ4i2GTkrMEETzkCiNNpzD6d3zZAYyM bIDILAjDKAZ/iqKC9xyU4o+2A00+avZ++389qtzEduSu1wL8Vne3uEqKteMIV/kihY 8dN9et1/vMq2X4yy5viUF0eyQiiA09dbYXY2Ib8wVmdqjI9lnIDvDNjtfstKBO181N 87CWTaXclKuhWquOfR3sTpK9djW470hUL31DXeimbC+Zl2y+c7qrOgDBbh3z+Qk+fH A96mvky98LHRLY8QmrFiHSOj8m3MwQtejG6rWGscgDoI3Vnl1VZv2srKzzJ4sPLPFp I65CahpdS6fUTieCD9o9pSxBQIG/rYjPRyh00ixUkv/RXaPSioBXDNUnCubLewRiqd SJY7/5wkQPONAXJwr1u62sugCtBY6zLcdkub/p67UH2xKhRYjBMMn2VCNyOIC5xZ9l fCXs823CtQVU7oTjpPbCGlC8cHFN3ZTGWF+JlUuO17rkNBiyDOUIKTZpq+vZBeXXdd 53STS4iN0vN7wmeR/mRkPyw3ot9eXKW+Ck6BfkikWfH30YfOllKaluqdEP3yaxvESx ymB96NxxXABWbMTzW9VV4cWI= 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 10E1A40E015F; Mon, 24 Feb 2025 13:27:19 +0000 (UTC) Date: Mon, 24 Feb 2025 14:27:11 +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 v13 06/14] x86/mm: use broadcast TLB flushing for page reclaim TLB flushing Message-ID: <20250224132711.GHZ7xzr0vdhva3-TvK@fat_crate.local> References: <20250223194943.3518952-1-riel@surriel.com> <20250223194943.3518952-7-riel@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250223194943.3518952-7-riel@surriel.com> X-Rspam-User: X-Stat-Signature: g31c5r1qajq7p4j6d5u9igo1qjrd4us5 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 69EDD140005 X-HE-Tag: 1740403664-463981 X-HE-Meta: U2FsdGVkX1+MLKRV2/9Jn3wGFOZq9XPnAxLIVi8/BrWKyf3/FwxWvKdkuOQHNJQ/7ZmB9yzXXauTcvVxZ0B5lqsiqdWgFhoZIEfhLklPZcPTMrfK0YycjfKJ7SZFNNmw0MSYsv0teBhKegW7pLeIf2SlECjp/n/aGk/VstJQ6mNaZw1YR+Gg/dm1sObpdZowsRMUOnjQfyTtUjKqgTbRvgQJFWIXl+rm1DwR1V7HYpWnAZ+VKJ0TOhoB504gMLRwjTvcz+xJTGAj4uelf2KGRjbJtQDXrLWQAwuV6NV5TJq0N/rpB3+Ml5KiaUG/U8R/zgeNIEm6OhEquX2/VJ8GEjBlvwxSn+bB/L4R64jh0RDfEUeIDoDgLzZWqurbw2cLVzSikpEqXAng0D7h9+3A0yEZvgTmdloMferlS1KIoRayUinqp18dckMG2p0825q/48P0iPxmOLA/SfEFGXCdde2rROE/QkYd9f1OlegmEHx4uGgiB2G4eH/8HW6+JU7CGA7J8gnHE7XQoBH3dpI4h4/zgXkpD5szu5H/m9aEOhpXvoGxooBBII4DY8NVOIBaJY7Ny78l3u4QKRUsT0rT9t4VzpECiHMykPcBAkUYu3pG43wOqHRwGzXv5hsnuwZiVvUqeiq7d80DjVmnWPxaZWP3v51CstCi7lPU6AEaIOpCYMsMCr1bqt95CCB7l1dNIaz5k31BErHHhlw9KTMSpa2cNdfQtPugSBN3wKPP1TVmiXY2LA9f2zA208Ut6J7iST26kBVnKqExMyIZ1ukv8T0uQjRTEDyy50ko64MKweT6MEjn/G9dlPBLxekD040C0erHmhp51lFYOz+oR1h5KETehrHg2VRdHH8doecDzlBBsHWiEcYM/8cbp4BguILqeH58dp6v+XJ3+CzKmKSaSTht0CPsBIJ1nhnMTPNOGiohGUYBvHsipHGMLWrsWC0ofc0xxI15TAnW+h0wvrt JI8+m4lE lSGDymkABHq3TMkf5ywq36kZyFTZukHD+JeCfYdM97LtunqKJG4fSx8ZotAXS5kSGU1JB5PC2CZ7HAALtJ3f1sfiHtHIY66EGjK8YoR7Ods9RxsXg/2Ssb+/PJAv5B5vo+9EaRQWEcYBuaZeG8o/DuK99ptfxT6b1amzx7LDvAgcsx48drCD/um7A/cQobtxHraPzGUMAiFUudeYRR+e082I7hvYzWH0HC6Lh9LWVL4OJcUMLFg1b8Q6ZKMCuX+WWLfRBTA1TAZ1NdvPfLcaXSQfEmoNXYzpUjLvQ8HhvpZN43FnoVfOocn751ToNexvUCtpjax/5WVwPOnbloZYKj5GZEAKZbBMnT3Gwv7O1R1YV7dm4nxDSDdrfJPqn2+6IJpEIScSnYFEAhs/V7vHhEtu/JLkkCHxDirsTUNfZfCLTok2eGUxR2GZyNc48XciRWhqcfjUldbGTRbFfSOCEqmFDXA== 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:56PM -0500, Rik van Riel wrote: > In the page reclaim code, we only track the CPU(s) where the TLB needs > to be flushed, rather than all the individual mappings that may be getting > invalidated. > > Use broadcast TLB flushing when that is available. > > This is a temporary hack to ensure that the PCID context for > tasks in the next patch gets properly flushed from the page There's no "next patch" in git - just merge this three-liner with the next one. > reclaim code, because the IPI based flushing in arch_tlbbatch_flush > only flushes the currently loaded TLB context on each CPU. > > Patch 10 replaces this with the actual mechanism used to do Same. No "patch 10" in git. > broadcast TLB flushing from the page reclaim code. > > Signed-off-by: Rik van Riel > Tested-by: Manali Shukla > Tested-by: Brendan Jackman > Tested-by: Michael Kelley > --- > arch/x86/mm/tlb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c > index 2d7ed0fda61f..16839651f67f 100644 > --- a/arch/x86/mm/tlb.c > +++ b/arch/x86/mm/tlb.c > @@ -1326,7 +1326,9 @@ void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) > * a local TLB flush is needed. Optimize this use-case by calling > * flush_tlb_func_local() directly in this case. > */ > - if (cpumask_any_but(&batch->cpumask, cpu) < nr_cpu_ids) { > + if (cpu_feature_enabled(X86_FEATURE_INVLPGB)) { > + invlpgb_flush_all_nonglobals(); I'm confused. The docs say rAX needs to be 0x6 to do "Invalidate all TLB entries that match {ASID, PCID} excluding Global". But you're calling INVLPGB with rAX==0 and the APM doesn't say what this does. I'm guessing you want this to mean invalidate all non-globals for any ASID and PCID. So I muss be missing the place in the docs where it says so... Hmmm? -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette