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 342FAD711B0 for ; Wed, 20 Nov 2024 15:22:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA5596B0089; Wed, 20 Nov 2024 10:22:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B54E66B008A; Wed, 20 Nov 2024 10:22:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A1CF96B008C; Wed, 20 Nov 2024 10:22:42 -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 852AF6B0089 for ; Wed, 20 Nov 2024 10:22:42 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3112BAE5A8 for ; Wed, 20 Nov 2024 15:22:42 +0000 (UTC) X-FDA: 82806838296.27.CCE3693 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf08.hostedemail.com (Postfix) with ESMTP id 02C2616000A for ; Wed, 20 Nov 2024 15:22:05 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=JmFUv8Vg; dmarc=none; spf=none (imf08.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732116025; a=rsa-sha256; cv=none; b=R7XNwHbhDLOWQqbS7ImQc1QMapucmV2HGI4Dgla9S7+OGsTO62Bc4pzXSaCf5m4Ti+uF93 HChLdocqWXH0oiUfb6HrDQmHsVXcEbZpok4ee0ZR1WzR7To9Ku2fd19E5Bqe1yNu+B7FzP UmzT3QNqg9DnMzwKVoEyAW1aZMgNHRY= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=JmFUv8Vg; dmarc=none; spf=none (imf08.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732116025; 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=MlJHDcSjdk0fhBS8nKpdUNl5QedDLuvNa80aSphcDYs=; b=GR4OZlwNFb6qjMxBhxYDQlTRQW5FlyxFb6n06rIgBIhWSQP8DpiGjkcnNOQM4guN5hxnt+ TOZy1rUK+31IHKnHkaA9YNTOpIgt7ddqCHujlmp72ZKhuuvs701XPiK47llclHxZ/VOz2U X/wygsVqowaMYYe1/0JMbmSD1sNBZ0I= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=MlJHDcSjdk0fhBS8nKpdUNl5QedDLuvNa80aSphcDYs=; b=JmFUv8VgUknnwgwZ6EaqnoKCN7 coLXzZlmcSX1KYdLIMCtqubRgl/Uv2r/5y4LAXteAVjKwF7mlq/DF2eVQRM72v3S2PKorfPcKslhN Yh01CACceRSWGHaUtTu3tPtH54Vif9TA6Oj3RotmY5ISgzdQy7FFRSAKNn1PpM07zl8aN5pceUOsB LfrVCCgauvVSD0TJJ4IZDOljg1L7lFKxnBN5zTzaf/vbiOhd0jDNwPVQ0K7TpL6oNqIVAdRrJ1Il9 AHSb4mfkbjsFEIdCzYR+AnjjfD5w6mvwRkR0s2sXIBOyjUpwF0ObMD0+T6Tnk1h+OWc/uClwNDdTl oKYyTSyw==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux)) id 1tDmX3-00000000Tyb-3551; Wed, 20 Nov 2024 15:22:18 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id E5E3F300446; Wed, 20 Nov 2024 16:22:16 +0100 (CET) Date: Wed, 20 Nov 2024 16:22:16 +0100 From: Peter Zijlstra To: Valentin Schneider Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, x86@kernel.org, rcu@vger.kernel.org, linux-kselftest@vger.kernel.org, Steven Rostedt , Masami Hiramatsu , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Paolo Bonzini , Wanpeng Li , Vitaly Kuznetsov , Andy Lutomirski , Frederic Weisbecker , "Paul E. McKenney" , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Andrew Morton , Uladzislau Rezki , Christoph Hellwig , Lorenzo Stoakes , Josh Poimboeuf , Jason Baron , Kees Cook , Sami Tolvanen , Ard Biesheuvel , Nicholas Piggin , Juerg Haefliger , Nicolas Saenz Julienne , "Kirill A. Shutemov" , Nadav Amit , Dan Carpenter , Chuang Wang , Yang Jihong , Petr Mladek , "Jason A. Donenfeld" , Song Liu , Julian Pidancet , Tom Lendacky , Dionna Glaze , Thomas =?iso-8859-1?Q?Wei=DFschuh?= , Juri Lelli , Marcelo Tosatti , Yair Podemsky , Daniel Wagner , Petr Tesarik Subject: Re: [RFC PATCH v3 13/15] context_tracking,x86: Add infrastructure to defer kernel TLBI Message-ID: <20241120152216.GM19989@noisy.programming.kicks-ass.net> References: <20241119153502.41361-1-vschneid@redhat.com> <20241119153502.41361-14-vschneid@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241119153502.41361-14-vschneid@redhat.com> X-Rspamd-Queue-Id: 02C2616000A X-Stat-Signature: 3nu347fgthnm7jqg3pjyppfkgmfzzjca X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1732116125-697156 X-HE-Meta: U2FsdGVkX194syBPS7Bq3NcXzVLMG1S/Fj6duJVjLhOArjBDlp5rGnEqpVaOTVgelNK3O6Hzdk6nKRQujkEGFgCuzSX5gcHxQo8wT5bwEzmnpdfdmGLnZSpnsjQr2zDQLsIGSsXFMwF8oQ1sAqT6DahR8IiKsslF8r/crhSO00r3SJgkopqoZKeRiqbNiQ6eq7CGoTzrh+ZtuP62DWuVeQTxP0lWw0skh3/CH9j90JO28s+vXcqZ17gJmbZgJ9kd6KQx5ZOVG9ddd18o3Rihz8BXWubAC0ZKpVRMHKyYCmpjvwTsdJBffE5/FHePfrzM3qzb2IHGSu5LfNsAHL/CmhkjnOGagTKJTxJY2zmcPudpUFTVKDGmhH/V1XWs/ArLIHHJrekCyTjAmFjahZ46Oq5xWC60p684q+ZEyQKnu4EEgmG61bMjN2FAIW4sFykkGviWmFR3QZJ8KJ4zEmIPKOxVXbaMbmFQsoZrzN3mWlmEL1VeewJpDXfNOYRa2Ml9Z7+bFqE+m1RamzgmUaG9e248xbwVLQ2xAlQyl8O282lVSnFHj0+UFJD9QGKyagpShYBnzs7ZCgSs2fySPfGoKDiCTrmKkpTqPQpN5+PfVuG/U6eW0zmxUdT6heD6rKgJk4Ike8FrI0Q5LDe9GOXXNIWh2E5EkE0TczRMJL9IabyN4nxzbfXSKLHs5QbL6SkC5FarcqUhfTnR4WZKZCj+XIS/axUTOSPsPVLDm1hfkdk+ivkf5NXHmur7iNqixOzpz4xTi2nNIVNsc4/MITLquBLUoHfKrTrUQ/pCvpOrEuer1SIVDBK1WSHKYje7SAKYNqo7uMs8S4HfONioL5d3koUrQrhIadVDSpCl7z9bGVFAe8DzF57p8v1fGCBGIeMFDvu6hGgBSB37NMeLtNm7Y4IwIB7ZRAJuylo3509DTTCSr67OIHRrYhQYbPX5KCaMrrdXJ6zi4rIIvXCbHOK CGZ5FXZ4 ybSDbXPOizxTKDkaVgqQxM44A8DyYkYpAxdtTI4N6frLj28eZj1t1f8yKf5u+6iaasReX+iliBZRsP2XkPIcUokdK8daqLX7BeBYvdeVpQOjV2iJhsBspzilOZUGxyWSp42CT9VdATADg0SBLyj2kbuqWyirQwdzllqoxdcvb5lZHaiGTrzGcwRwuWYxIEFthDQDA5UoCT1lwX6vTbHAkLI47Sxgq+i+JPYsKyso7Cgr+0G5wN6fA9Yz/d5sEVsIY2TRo4NmQrMHGEokz0gFYvTV5krdyQjuM2qpJmnt2o10+gqGpJLm6V1XsKA== 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, Nov 19, 2024 at 04:35:00PM +0100, Valentin Schneider wrote: > +void noinstr __flush_tlb_all_noinstr(void) > +{ > + /* > + * This is for invocation in early entry code that cannot be > + * instrumented. A RMW to CR4 works for most cases, but relies on > + * being able to flip either of the PGE or PCIDE bits. Flipping CR4.PCID > + * would require also resetting CR3.PCID, so just try with CR4.PGE, else > + * do the CR3 write. > + * > + * XXX: this gives paravirt the finger. > + */ > + if (cpu_feature_enabled(X86_FEATURE_PGE)) > + __native_tlb_flush_global_noinstr(this_cpu_read(cpu_tlbstate.cr4)); > + else > + native_flush_tlb_local_noinstr(); > +} Urgh, so that's a lot of ugleh, and cr4 has that pinning stuff and gah. Why not always just do the CR3 write and call it a day? That should also work for paravirt, no? Just make the whole write_cr3 thing noinstr and voila.