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 3D097E7716E for ; Thu, 5 Dec 2024 17:31:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 853766B010F; Thu, 5 Dec 2024 12:31:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DBCF6B0168; Thu, 5 Dec 2024 12:31:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 62EA06B0169; Thu, 5 Dec 2024 12:31:21 -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 459DF6B010F for ; Thu, 5 Dec 2024 12:31:21 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id F1D4940FFE for ; Thu, 5 Dec 2024 17:31:20 +0000 (UTC) X-FDA: 82861596552.28.9015D0E Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf30.hostedemail.com (Postfix) with ESMTP id 1C11880017 for ; Thu, 5 Dec 2024 17:30:47 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=QZB8CcYc; spf=pass (imf30.hostedemail.com: domain of ptesarik@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=ptesarik@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733419867; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=R8/7vE5e555OKJe6AuucX4ms/VrPrCkBrD8lqWS8nyE=; b=LT6yW1X6o/vvbxBLBrmv+CuEI2aTJl5uV78pmbtajSfKsAdJ7ywvlNPb8ytIFq7VPw3P3k o/dzT2Rs6p142r1a5EuKh18YYZIiTzyPQ+KQLbJdg8WZlHE7LYITIODgV9Oj8Cb+ictYJi xzTkm692Wm9GbxpfvvN5/Z18a0pJV5U= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=QZB8CcYc; spf=pass (imf30.hostedemail.com: domain of ptesarik@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=ptesarik@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733419867; a=rsa-sha256; cv=none; b=mBdPKNKvOhInQwS5+cG3Msa7fjSE2ZNt8Aqv/07RCw8mMxM5UQo1Ry1yXw4/IcMPfLFg4C up4fIE5Scwt3O/MO7NtPUTJXccB02wmtSvVP8CdVaGfB0IdURc+9sYOPjuX3FHByf4mRKN AQRs8J2b0TscQJvFExi79E2R8447Rnk= Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-aa625782fb1so15425266b.0 for ; Thu, 05 Dec 2024 09:31:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1733419876; x=1734024676; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=R8/7vE5e555OKJe6AuucX4ms/VrPrCkBrD8lqWS8nyE=; b=QZB8CcYcvpZjeOnQHquVVT4Z0EFC0J9hOBe01y6cHtmLL2f/CW89LSFx0JC18Pl7ek DhpaKKdRo4kI3rUeUQA6qCUw24SLop6Ta5DOsqeqB3YK3Pw5TglZqzJs/jyN92Tewj84 WAOfqAVgE56NrLnDbj5YaQ+BCwTaOKmQzNI5DzGPACqGpT3bZ3yEafX6azCbg7cRp+HL hEWV9tqT+WCvmW1Wk0QwYFyRLpPV+NM+i+Aua0PiG9/8+pSY04++JaXJvMaGcVD6tQUo 8epLj6wwanvC6QLlyLtsQJFljAJsqMdirwDP0Iu+u/LihNKU5P5RjTQKXssR9u+05MCm OQRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733419876; x=1734024676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R8/7vE5e555OKJe6AuucX4ms/VrPrCkBrD8lqWS8nyE=; b=UO++WUxE2S8SAiivc/UXywppPyH2/SHghQBD3IrUJHASjS6Gq6JF+hUsfWVYn6rFji EYVw67p4vAGt3HrlpnhEVt0ES86bL2gYVb6JYUoOTZFrkt4krsjTFYpAhja/rasxJoJw 0ZKD4hiNXtqBqKyz+2NhgdEwhY7r3AaTX+oqCd16XGoXXNYerI/x6qr36biePyUAZ0AA v7CFAzW1QTLyvkIb2LUw1v5b0SPFz6iNbzuaUNAdmkpxppiCHfpcSuK4YPv/1YdIwHVW 4/t3h0n/swkJpXOB/EJHclFYnYeDvcXwbgudbwk9/45YEDKptElC3X2VZIjVAv2BbLVR CL/Q== X-Forwarded-Encrypted: i=1; AJvYcCVY0AyGvYORh+EKRy9wXEQr6HQen7Kx5aOaUqMdNMV9WlOYvwGkY2bOR0Al0h7PUhrD+yvXQS6UNA==@kvack.org X-Gm-Message-State: AOJu0YyDiz5Qk4EI7sFAFzBvleZQzyKv/TH9SOPX4uJjBKSxAbf2x9Ke pmRpmH7kF7Ay8Kcvy3Md1lNDfi9nVtRpDRc9eudklYURx2CxX2p3Hj7CgqASw20= X-Gm-Gg: ASbGncuo0YLlSWtSZqRJ8dVaqtCgfVbj5GcDPSyRV2M6/d/Krc8NLu9Fbnna+/hBTHP c8FL4ar0EFuiK7X0lww5DuZjRzUmQVU1y2pU+1MoYGKwLJJulcGRvB6Fq/m9mtaIucSUfmjOaZ5 xi/IDwGS4qh9ifDsZTlErX441JWDOdiBsAK2ByXx2/cvy8e0SyVYcYXVRsKqSgcmCsZaVL27XsT 65U1MYaz/JHU/5L3xwkQQdqR9fzc+O4XoMPpQ1AxzXpmKCcEeQDWo7CqCMhp245aahZFX7Vo0Tv txdeCTSLjqXa7q/GOsNOdUgR9C5K2S+0YcZLJu/4uThjbqGOT2NHBB4= X-Google-Smtp-Source: AGHT+IEQzkKEFiKDujFpgpYYDhLmEPZqC0BMq0BFtfN8uz6jk0DSODmsmsMeP94l0aJ80mpV+tmi8g== X-Received: by 2002:a17:907:72cb:b0:a99:482c:b2c6 with SMTP id a640c23a62f3a-aa5f7dab976mr469405966b.8.1733419876349; Thu, 05 Dec 2024 09:31:16 -0800 (PST) Received: from mordecai.tesarici.cz (dynamic-2a00-1028-83b8-1e7a-3010-3bd6-8521-caf1.ipv6.o2.cz. [2a00:1028:83b8:1e7a:3010:3bd6:8521:caf1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa625e92a13sm120705466b.52.2024.12.05.09.31.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Dec 2024 09:31:16 -0800 (PST) Date: Thu, 5 Dec 2024 18:31:11 +0100 From: Petr Tesarik To: Peter Zijlstra Cc: Dave Hansen , Valentin Schneider , 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 =?UTF-8?B?V2Vpw59zY2h1aA==?= , Juri Lelli , Marcelo Tosatti , Yair Podemsky , Daniel Wagner Subject: Re: [RFC PATCH v3 13/15] context_tracking,x86: Add infrastructure to defer kernel TLBI Message-ID: <20241205183111.12dc16b3@mordecai.tesarici.cz> In-Reply-To: <20241121153016.GL39245@noisy.programming.kicks-ass.net> References: <20241119153502.41361-1-vschneid@redhat.com> <20241119153502.41361-14-vschneid@redhat.com> <20241120152216.GM19989@noisy.programming.kicks-ass.net> <20241120153221.GM38972@noisy.programming.kicks-ass.net> <20241121111221.GE24774@noisy.programming.kicks-ass.net> <4b562cd0-7500-4b3a-8f5c-e6acfea2896e@intel.com> <20241121153016.GL39245@noisy.programming.kicks-ass.net> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.43; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Stat-Signature: jkaqctuux7f9itekkt87kjo3xbfy6iqt X-Rspamd-Queue-Id: 1C11880017 X-Rspam-User: X-HE-Tag: 1733419847-480866 X-HE-Meta: U2FsdGVkX1+UEq592o2UAKHjqRmlE1hTJkxCJyfuU+vQ5lqNgCnTzMTWBdRB/21q8Vo5ZoAqns3rQLV38LhVWYxTemLGKYz4OKHRN6l4G0qI6wpgkVsnfOf+eKrh/6deQJ4Od76yyu3rc+7gP3OWcJSk8dZ2JrxRtk9jZeiirICrN5zT+eWEbx1GN7k++BShOa58dUsb4fEyGyunDYAUJWQINiZ3RROW01VdJe9gBdpSkco4PhF8AIS8hNWuFs6C/iwm7mDekcKCTltxiGcPgl2sxd7qjh9R0LJnvSE1UMRhVNgmGePoMiMdQxJxgZcT/0SBSdM3VjdP5eMDyzALIhldycNDstSj0g5WKOIbDek1agVQ/SibHdEtarvPI9c4aSsDYxyOEQJH5hVluwKWeHJL7P2k91OqnLdkZxg4BhnLhD2jw/lL9Lks/HwVxBRVO1xF4WY6GItpwZK5AvIneN5B8eMvVcF9Hw9QAmesUVo/oZnyYX/l8dty03iv6E031PtV3wkBsQfSd1pHUD42Hmq09WkdYkIWIJxIgJ4snRD7C0/kskHds8a/IWbLTWQPr+1KJFpWf5U6sMK6eY3rcFA5NDcctXmozc8XuW7vxbb4P39GrNJlkDxokSzBksxuSWeRlAAuDNNvGj92O1KEGUy1Ot1vtmk/AGSvVu1E/8ovRsR2ltSw4ePXOUJJjOLjgz8In+bCCQeyFvsD6LhVZmEwzHgZmJnMX4areO+24Wky/CKrLKvgeO8qUlixCxFmmtVM0KMEN3eX3ieTkzfyGdZO8i62qgKx1av5kQTP2IMeS/wI9yeM0LNXtcNgp0wRnoClnondmUvUqeljykwSDfXI6eQvBFu63e/xgKd9uUt+8giskLNQNuUqh5ivIl9AJs3ZJqI6/ZCq1goT3N2s/TIMh8E98PMxAssbb9weG6MGUeok5BT+xXmqS8ynXC3IITmTDbOIUIUIMPOcJfs A83bSBjR ViQqPQsxL1zjaXoZphjFKRYXZCzM/uBS/bpM9x/I5uljzt1VwY/lEIfc+T1nEECMNCno3IuB2lX0h+PMmTw6CBUaDXsbulLjKJh7VTxpLJqCwbCodretMouVYeDwgA76d3Ipk667d+VAmvAZfthOD5PVkMDk8eiO4TSLUc0xc+K4mOIUkyEpdRv5nmhKsw5MGgTIqudGR2K7vujBhy+tJRZ4FbAw26dWvwN8DMUoZWMD0zf25BuGzp+ab+bnufMlR4SlpkOtjPgyNgqaQWfYL+/wmhlty5CUAqHayR41rkYu/kzjRKjU2dvMKEDfix+/+ok5u/+jLCcVJXbICkGu8oA6xT5Hyka5vCeDZFCOyGL3CBqCg/fOvblyeqsJ4QOat6auqhHN9DTrcwSQ= 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 Thu, 21 Nov 2024 16:30:16 +0100 Peter Zijlstra wrote: > On Thu, Nov 21, 2024 at 07:07:44AM -0800, Dave Hansen wrote: > > On 11/21/24 03:12, Peter Zijlstra wrote: > > >> I see e.g. ds_clear_cea() clears PTEs that can have the _PAGE_GLOBAL flag, > > >> and it correctly uses the non-deferrable flush_tlb_kernel_range(). > > > > > > I always forget what we use global pages for, dhansen might know, but > > > let me try and have a look. > > > > > > I *think* we only have GLOBAL on kernel text, and that only sometimes. > > > > I think you're remembering how _PAGE_GLOBAL gets used when KPTI is in play. > > Yah, I suppose I am. That was the last time I had a good look at this > stuff :-) > > > Ignoring KPTI for a sec... We use _PAGE_GLOBAL for all kernel mappings. > > Before PCIDs, global mappings let the kernel TLB entries live across CR3 > > writes. When PCIDs are in play, global mappings let two different ASIDs > > share TLB entries. > > Hurmph.. bah. That means we do need that horrible CR4 dance :/ In general, yes. But I wonder what exactly was the original scenario encountered by Valentin. I mean, if TLB entry invalidations were necessary to sync changes to kernel text after flipping a static branch, then it might be less overhead to make a list of affected pages and call INVLPG on them. AFAIK there is currently no such IPI function for doing that, but if we could add one. If the list of invalidated global pages is reasonably short, of course. Valentin, do you happen to know? Petr T