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 A2FC2C282C1 for ; Fri, 28 Feb 2025 15:58:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 413966B008A; Fri, 28 Feb 2025 10:58:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3C3DD6B008C; Fri, 28 Feb 2025 10:58:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2B2C46B0092; Fri, 28 Feb 2025 10:58:03 -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 0BF4E6B008A for ; Fri, 28 Feb 2025 10:58:03 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 91176160DE0 for ; Fri, 28 Feb 2025 15:58:02 +0000 (UTC) X-FDA: 83169809604.20.458AC2D Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) by imf18.hostedemail.com (Postfix) with ESMTP id C777E1C001B for ; Fri, 28 Feb 2025 15:58:00 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="tYu/iN1w"; spf=pass (imf18.hostedemail.com: domain of 3B93BZwYKCA46so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com designates 209.85.214.201 as permitted sender) smtp.mailfrom=3B93BZwYKCA46so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740758280; 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=grn6WoNOcZTWapnWRBhweFsDMgoAQip6WUiv20kXU6M=; b=qeOF4uXLfWhv/sHNJL7eekcB27qBKnc2GUfsM9qPZV/cWCn5D5a46PKs9y/aPxzsWC5Rq6 xVBkCpmxszjQ3FGngS2ShQwKW3fy4wfHF0RoaVadGEyzWxelgEOhGAZ0kyvqwPmogncnfg MfwAVQW77+VjMINkA3f/JVD+9XZWbCE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740758280; a=rsa-sha256; cv=none; b=PWGsls9FqLSoZbu1JsC5iDx3fGDCoV4BZ+xA5C6opoIOiSD+ut1hBHdGfDgIhzGhQKACie JXhwP+QeZgBwhSUrUq0/q1teNzSkDzZdZK7rbNxEK8MThADuGXiW4SLnq360uUgryR4pI5 6rdVaPY+uJssQgjSg8NQ8dGm37X/puU= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="tYu/iN1w"; spf=pass (imf18.hostedemail.com: domain of 3B93BZwYKCA46so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com designates 209.85.214.201 as permitted sender) smtp.mailfrom=3B93BZwYKCA46so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-21f6cb3097bso62043375ad.3 for ; Fri, 28 Feb 2025 07:58:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740758280; x=1741363080; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=grn6WoNOcZTWapnWRBhweFsDMgoAQip6WUiv20kXU6M=; b=tYu/iN1w80Q7lFqoScbAgYMwIHuKEpot72f7U0gfyHmAe4aA/lDN9CW+Hg6uziA3u9 uttseW2EMOA2fBJhOtQ2n4k+wi9GHrzZEd4Hty6QVdZn7aDeSMHa0aAm4K0t4FwaMrpC FvQrgcVo1F2ZHwuj+ipZ5tQW5NxE4HQ/h7awEmuUytmzvgc9kxF5xlvBtRVUkRMb3D43 5j081Bu4VvVBKelV3dYHToekUBk0uu3Ajlv2ZocW7SI5m5yFaOHLlMAMFyogm6X0NStp seJA+mquLJyBOn7s1zWRW2Dj8sbkafdkURNxDRjbbjQZrwKBOpbHKap7ShHi6pmuSD40 vGcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740758280; x=1741363080; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=grn6WoNOcZTWapnWRBhweFsDMgoAQip6WUiv20kXU6M=; b=KahHMVQwWhzxUkfNxMfB37F7P71LcM6zjSycQD1y1hE13fI74D/H/b8BDgv39al+/0 IXrtmNXW8yk7X1z7YQcHZAuqJR80sS0438Wari36yVeL6SE2hIpTPI15v8MG/7LHnyKe BAtfuWmJteGvr6ql0fNFLJvKznX+INSfh5CreirNvA6gD8VzSNiB/NrgSZMZJUfGXUXh EeAer+ZD0e3r8LR0Fo+6nBEHbJtohIokBgkirh4skt8h10Tfe2FRSDDF6coHVM5YzmNF G/e6ruczbEfaoPmByE4tv/enZSCOSmmBxGyryOe/Sh6xwChSsXkFz+fL6O2O0nlihHeo SNgA== X-Forwarded-Encrypted: i=1; AJvYcCVbqk+LRGaTQG1V7Rj9RUgGcaSKUT9HXuN2dlJ7x6YXpOUa9SEo4srTISIoBCteqyBRS8wtVIq9Kg==@kvack.org X-Gm-Message-State: AOJu0YyaScEBxuZ3yGRZvIp/BmWpjm49+PbBSDbPMmOWx+B+ouBGKPuX +PLig+KGxf9AdS3vGPT37HZNZqlUthdFnfX9+WA0WpYqeUtiKpcOZQJ0br5O4iEe23YBh1R8tSU 0ag== X-Google-Smtp-Source: AGHT+IFyoMK9paeAoZ8a0nmluti4gJF76RjUZ7PnqmrfBEpGEPqj01dwn+FBrEpsx2F/fil7939ghTgm6nE= X-Received: from pfmv7.prod.google.com ([2002:a62:a507:0:b0:736:2d84:1570]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:2e11:b0:730:8768:76d1 with SMTP id d2e1a72fcca58-734ac3d443emr7245342b3a.19.1740758279615; Fri, 28 Feb 2025 07:57:59 -0800 (PST) Date: Fri, 28 Feb 2025 07:57:58 -0800 In-Reply-To: <75e45ec0-25da-45c5-827c-ee048c0ebd86@amd.com> Mime-Version: 1.0 References: <7c2baf33265444089ab780848de29a1336a9a4cc.camel@surriel.com> <20250225203803.GGZ74qK1oZWk8u69O4@fat_crate.local> <20250225210300.GHZ74wBP2ogmM5P5lP@fat_crate.local> <680053d3-4cf9-534a-1c52-c6e259b85452@amd.com> <297b28e9ef9f4cd983ae2e3dd4cf1fce8b74d0f1.camel@surriel.com> <059ba03a-a892-6a68-6000-c7db3dd6cf9c@amd.com> <9086371cfe69760780d67ec279f69e91f65086a7.camel@surriel.com> <2731f073-d529-7870-6d25-ebd2e44cd10c@amd.com> <75e45ec0-25da-45c5-827c-ee048c0ebd86@amd.com> Message-ID: Subject: Re: [PATCH v13 06/14] x86/mm: use broadcast TLB flushing for page reclaim TLB flushing From: Sean Christopherson To: Tom Lendacky Cc: Rik van Riel , Borislav Petkov , x86@kernel.org, linux-kernel@vger.kernel.org, peterz@infradead.org, dave.hansen@linux.intel.com, zhengqi.arch@bytedance.com, nadav.amit@gmail.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 Content-Type: text/plain; charset="us-ascii" X-Stat-Signature: stu7iw3pswi5n7jowd7sg4mzzrmsj63u X-Rspamd-Queue-Id: C777E1C001B X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740758280-713490 X-HE-Meta: U2FsdGVkX1/NTAinsHL6tpm+IGP1UuANEC7CsBa4MsIoxFgYEHurIEwnD5Jv2ISoE73tWFmgq6B+xEY2Wp9DxYN9P8pdL5aIQNP65TxLkd0I5jUitWwE49SoiR+vtexnTUO1IPm7hp/s9thBPIenH3EiPdf5qe5voZnujY1IJd8DY8cHQ1kWVwy2K4KRpHYH3KESAuFwIEbcziorZt8ItDWpV8GLfHH7ml3KMf/rCvWE4ikZlhVXrmvoJv6OeEJRGh1hQLTS211k3F2jZaTj4+FcWgOz4RRVuqyO8buMGaLB3oJUcwpUYruHZiGxqSggrfpXihUgQEah73b0nkIYEOee3uRE6CCtlnWuzEqWSn4MeENzUDhDRF5n6G13Dx64YHvTxw/1eq9O9fwojiBIXCyPfbCFD3G556p4Epa9G6mAi2xlyuCWnj3SnjojryzO3tGQ9ipY5wo7MF+yprOCmBWhC6eeny31glkaDQNiZ5AQmnhnRHzfbTdd5z/2Qhlu0s/YWS2c9VL+6liV9H/Fdzcr4gLBgd9LU3MBb/zBpnR6FDKScJk/7184yuAbQXDOG+HQ6iyTI9NuViGsjOpZ6n7UyiTXxD1AYWAS+RPb88AT4RMMlBYyh8FA0XyLSdgIXxl+SLRPYbIbermbTEXBa5j7PdOhdO6pww9VeBSakA+wpbEDdnVXZoe+Owy0iG3FLeWsf+LpBE4QH8w4c5w1ZzUd+tbUF835DGH8uunawoUyLsBsKyZRG4JhNw9vnUVm3uut5A0aKOgd+uFfRozDjeG3PPVtTob0yxECGW4t9eAQuBpZrEzNTFh2q0KF/r6mZ1EbNazi41NRjlwcLGQiftqW5aXfWLY0Qnoc3HlvF0ino1owBAFNee3qpn1hJUK4vec1yJ8zWuOFpD2Vs/lNWBdO852Nv8p1yOEdv8z3v/8e9SQ5dOwM3UX2zEJzlKk9PjJJY18TVHrivlI4HKQ hpFk4tqF 2HZWi2MXKBWdLY/oAmjal5hhXgPwD0/Le86c6aFn07IlZ8WO6Pza0tJ8T/o+CVOHwNO7SRkeoHwRKzxAEuXHFSjaxdyyJ3bjDZT40VuuRmhUEFvEbN6CXmkBe071mjpr6jzZV7jeL7bAwHvUk0Kae2ZoUuZ5XDDXhYSxKmYBgfjqi2bEbvoUQDAgpbArJBWkPQyQB3CTvCtFMBxqU1DBjTZ6IUyFZ+4yT2a9sSgVWzwKjdCuycNOBFo3Md6J2Eihh/c9//uOYlX7xhyYXnuCswIQIA5ryZgey/j1dK93xa+0mLxjOmG0w9nW+QxidACrrtx4EtGrU/BsPx9+bUBBjS7Bk26yEu8kfFbQSv3hX7rFORRfEIN69vxwFZ4eS0GxsAlZYcR2x2QrmnEU7yBxZ/sTR/HGJ3u0imQRHu+w4Mx8D7+MGpcz8Ut5ObquVo875VGvJhfwxx/ws4x7qq5irjlrCQz1/TxDgHj5sM030CuwqY2nFqmOnCcI1y6lnJaWqyTXwp565xF8QqGR660stU8Z7ZeMRYOOffRcDQgdAG/RtBfXAY5EnYwwZlbFLGuGfTIH2HDoStAQFejvcFkoj4PED+BTuthOd+cji9JCvz4ANSVZSUe86cf2EcUeqxc4nSfV8mbq5WyLQ+MUcW/yQTcFtzmQODv/6bT1T 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 Fri, Feb 28, 2025, Tom Lendacky wrote: > On 2/27/25 19:13, Rik van Riel wrote: > > On Wed, 2025-02-26 at 12:12 -0600, Tom Lendacky wrote: > >> > >> As long as you keep the ASID value in EDX[15:0] as 0, then you won't > >> #GP. ASID 0 is the host/hypervisor. An ASID > 0 belongs to a guest. > >> > > I've been spending some time reading the KVM code, > > and I don't think invlpgb would be currently useful > > with KVM. > > > > From reading pre_svm_run(), new_asid(), and svm_vcpu_run(), > > it looks like the ASID number used might be different for > > each VCPU, assigned on a per (physical host) CPU basis. > > > > It would take some surgery to change that around. > > > > Some googling around also suggests that the ASID address > > space is even more limited than the PCID address space :( KVM's mess of ASID handling isn't due to space limitations, it's because early AMD hardware didn't support a targeted ASID flush. To avoid flushing the entire TLB, KVM fudged around lack of precise flushing by using a new ASID. Under the hood, hardware uses the new ASID so the previous entries are effectively"flushed", and will eventually be flushed for real once their evicted due to TLB pressure. Irrespective of INVLPGB support, I am all in favor of ripping out the ASID shenanigans in favor of static, per-VM ASIDs for all VM types. For CPUs that don't support FLUSHBYASID, KVM can simply blast TLB_CONTROL_FLUSH_ALL_ASID. FLUSHBYASID was added ~15 years ago. If someone is still running hardware that's that old, they can't possibly care about performance. That would meaningfuly simplify KVM code, likely be a performance win on modern hardware, and gives us direct line of sight to using INVLPGB (assuming it's a performance win). > Right, to support using INVLPGB in guests you need a global ASID, I'm pretty sure Rik is talking about using INVLPGB in the _host_, e.g. by doing INVLPGB in kvm_arch_flush_remote_tlbs() instead of blasing an IPI to all vCPUs.