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 A8213C02185 for ; Tue, 21 Jan 2025 07:31:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF8C76B007B; Tue, 21 Jan 2025 02:31:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BA9746B0082; Tue, 21 Jan 2025 02:31:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7A086B0083; Tue, 21 Jan 2025 02:31:26 -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 8BCDA6B007B for ; Tue, 21 Jan 2025 02:31:26 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3CB42C0750 for ; Tue, 21 Jan 2025 07:31:26 +0000 (UTC) X-FDA: 83030638572.23.499578A Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf19.hostedemail.com (Postfix) with ESMTP id 400971A0011 for ; Tue, 21 Jan 2025 07:31:24 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dsGpSBZF; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737444684; a=rsa-sha256; cv=none; b=NwyJ4o1YCJclGnPBpPdvMG/Wo66aGk8oomgfKe3jrxxZw4Jy78Xvd0XjBlEOus6L0NB5as n0A70NcTF21Gix1uDscH8YTrxDnrlsTZdrJMEenOpHnxUJIY8q5m2lFk0TRRGrbpzcKLCv 0KYFCNfAm1qjClQZaefFda8YwWjcnJ0= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dsGpSBZF; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737444684; 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=Zw12uql5MkloSfEk6IeW8JDTQSgAFVk0KpfSnG0GbCY=; b=RzE4qCXEMG6AGfMDkSug3QFgvAo8cr6ioJGApc5/s+R14m70NXKujwtXpbzHVKLph/XhmC nM2oHe4q2s6QmjFY2+f34S+69iMUCpa9ce3u5/ZTerwU68nLHoXpxFp8/Jqpinrc6hg8kq 3HyljYkyOLiWXCU01y5h8f4GgjNprZM= Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5d3bbb0f09dso9118369a12.2 for ; Mon, 20 Jan 2025 23:31:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737444683; x=1738049483; darn=kvack.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Zw12uql5MkloSfEk6IeW8JDTQSgAFVk0KpfSnG0GbCY=; b=dsGpSBZFWjRMKXg1wMFrOg1FnGZRan1TvSa4BFpm7W9wg1NaG9ICgGqbwaKDc6rWAX QQ5CD2XxQ11iA1mUqTGjPqY4rzvEqf/lpafOrz/sikOpRdAEL2HHQ71YiFbmyC9L+unx KEMZDpjfM2zKW9XoWgLS/XOzQod1EhKpCNziizoRWC8ZejMFmuGxc5s+NCiGXR7g8QyG k+syhfKqOCCcjoajYz8Bb+7rfNCQywvgiALCkxL68F2AmczpLqzSBzpYUV6kBPw+5YjP 308rDyiSgebe3m0JOKpBi8/QEHVyal42qABIoO0Ypvy7I78Lg6Qd7lp/ITeFPh+gd0nT ml4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737444683; x=1738049483; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zw12uql5MkloSfEk6IeW8JDTQSgAFVk0KpfSnG0GbCY=; b=nNDefwFCV8HwBdglroKlDNAHxGIHH0aAvmC78kTgF+Vo8f0TBbiHFfVsIzJq5pzMPz ocz1DmORbv27WbhspRL76nw5fj4rWD6D9ucDX1zjk8FlVftQXJdosaECubE6Cl2S41YJ rLdBWJFc3MAxAhYDPSlHB0eCr+s8rpIGkySCLJcGWA7WUJ6WwDZMdb2/TUOE71hGuzUc k0j1taU7hY3OUQ0FCPvDs2v7XQPVu7hS60fFL+Mqx5LzDZawy3CwQKZiuoZ5/RglmoWa omZf03gZaHiMT+vxo2aJ6TWJ44avrD2WYV6JOk0s8d0z18ULV5pYrCtgWX6YA9u9uMLo RvqQ== X-Forwarded-Encrypted: i=1; AJvYcCUjoboOQXs5oyok4pekF8GMnxIrTk43cQdn7qY1HlrEXx3N8UpeGTdBeWpmGbpvc2iWoyIWijnVEg==@kvack.org X-Gm-Message-State: AOJu0YwMWkkIB5MoxbA9sDypi021DH6YzEKF+8VjrKy5oJl7dcV5c+oI pf0+MUuM+2TksQUQ30tO4wD2YSuOwvkRT4/eXdEjQ+PnapH2GgTo X-Gm-Gg: ASbGncsYwu44YL0GixqtOvluZ5AYJX5Os3N/ZKJKMdWr9Sc5RE4Bxi88w63EFZhE3lL yzJr0IhqsuhzELvMmXfUr3ynTFd/E6G6qNoQUtKTEYROu3OcHpLsrLz776u8q/Hg2dYce4c7oOz iF74c6IBPFX9a2YcpaOFCgModBavXDIAY4W7PWzTgl7xJxY0Ra+FtSX6jhuDAo79nWMzMubjTor Xsqmw1BWdExKvPtSQHGNBB+Wj+JM4/lz9ZAqiAiLLd11zWinKltl84kuSLkKML7kKqE2gRY70MR HF+ZNf79fA== X-Google-Smtp-Source: AGHT+IFko8PH0jz3RcqJK1oXhDbnMYvn1Cv7fEjyk4TE6qQlPM3KPMfTduocUL12NoctsgRLU7R77g== X-Received: by 2002:a05:6402:849:b0:5d0:d91d:c195 with SMTP id 4fb4d7f45d1cf-5db7db06f81mr13365652a12.32.1737444682399; Mon, 20 Jan 2025 23:31:22 -0800 (PST) Received: from smtpclient.apple ([132.68.46.60]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5db73642597sm6597782a12.11.2025.01.20.23.31.19 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Jan 2025 23:31:21 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: [PATCH v6 09/12] x86/mm: enable broadcast TLB invalidation for multi-threaded processes From: Nadav Amit In-Reply-To: Date: Tue, 21 Jan 2025 09:31:08 +0200 Cc: the arch/x86 maintainers , Linux Kernel Mailing List , Borislav Petkov , peterz@infradead.org, Dave Hansen , zhengqi.arch@bytedance.com, thomas.lendacky@amd.com, kernel-team@meta.com, "open list:MEMORY MANAGEMENT" , Andrew Morton , jannh@google.com, mhklinux@outlook.com, andrew.cooper3@citrix.com Content-Transfer-Encoding: quoted-printable Message-Id: <767F960A-4252-4B22-900B-ABBD7604DF56@gmail.com> References: <20250120024104.1924753-1-riel@surriel.com> <20250120024104.1924753-10-riel@surriel.com> <84ba1c3e-d975-458f-89f5-a6f5d04a3d22@gmail.com> To: Rik van Riel X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 400971A0011 X-Stat-Signature: 8tt166qimuftppbr7prp3778heiioc8t X-Rspam-User: X-HE-Tag: 1737444684-423418 X-HE-Meta: U2FsdGVkX191PZc+ZUk7+qSTuat0p/uld73nKHIs3Kdw5MSEDAeQwhcS8B0QsBl5KekDgdotdIM6a4pSzAva0ZyOATMXFEUR1O1kcPW9Qc5dJ36Lk/bl+fPQcq0jbIxV8rYzV+GSAseF/M9MTPm63t9uzgOm52QzOnYm3FkYBdnbYb5T1lGQ8vWOSQEOXcDWHcZxfdLD9uaOyy2XKbXbK+PSObFL/LPoo5QEZwG7GSNbPesrlrPczoexDhL1QmUWt4QUSAyIJI7uhEYeftPU2pqiAIG/XvM8jKO3aeIKwmCYiRCf2EsP5G7ZogB0DthV03hI3pYtNkGA717qZmVB8yXEjmv/xXXexC004K5TH/YvZxpC376eYMdLnlf6+M1ai4w018kX3PXyw1ORXFcz/d1rcxJxHmg7zcqMZmw1LjTEM9lUZBQh0npxsux+n4z/pNW2XV+FdLvAWF7/UR/5w/xhDGP3/udtMaVVEZSFl6yT1a/O3JEEkHK4T8qNMnbKyYhhXYv9Eo/CHhYMjEGpWl6o1iE5uvGht4fz/YtdsALUbxmJjFaUtq8+O5eMmiY0cO4yMZInZ74eGlIKEeIObbTByf7PQCeOY+F4zWQXEzJ6BjVFH61aWzS7T5J182iO4cnlvhMjKIOCaRuXgnLYI/hpYGDcGYBqM0iXJlQO8aSxMb2DkeIRPgR8ecgxBrCail4Xw9Ao6lhVzlQPxymPsyV+NzbFh34dJpPXzasPYS+jWU0YdhKWzv9e2NzTNqomrT+CTb1QdODZaEclqbEWVbZ24lgPPw/JJsEI1f2dMN9j/jAPk0NDZPVYk0Ys1MCBAr2NXHZ1FlnCN22TyWt0Xkia8/u+OBqR46kOcFccKY1iwOt+q1p8vI/KBETZOmUbwlr4ugGpxA+d70cvgm9nPmJyikPFExNOvJYa7Q+cY3hz6+hfjNHAVxqpiDAok8D7yok/iX21WLNIU3G1Pqe JJSmVWG2 R6lKyNpjPA7mIDGI2xyDOAcU5lRH0bh8Lj3iQNVleyIeYmdwJsYkjvRSjRSWqbdiS33SEEY+a4pLwPC8xQ6Q7IEKZLPx28xNZJnMiX/tpblFd648OiRd1tGH+/TyicsYfUDz2MA+FE6SX62ORZIPcJFq9dmPKtZnF8+vCxGeitfOxHaQndbI34K25EGCA976hu1vpaxKQthLPxp1l0VYVP9hYxzlpO1WdpQCbCoak+XW3VoTJOyoMEXWOclRAcWiqRGfVgQBQod2CUjThuDU0aMgB1HGROEOmk2I2jbDNe+35IDI5Oy4Zcr4QKjN3Ag0uZiYubadjxwPCOLMmGAZDee1b8T9iknWsK1DLrKYXCUpnadFMk8q9FG2jH3rlQU9j48fSUb7fCzJt9/k1xeUtQEbJP67NY8zqigWbfeVet3ZH9Yv4rmmLdMR7O0lAvXSkwh6isAuhCv3SLc08AqvDX4JboasJcZSrk5jB 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 21 Jan 2025, at 0:44, Rik van Riel wrote: >=20 >=20 > If the TLB flush is about a page table change that > happened after the transition to a global ASID, > flush_tlb_mm_range() should see that global ASID, > and flush accordingly. >=20 > What am I missing? I think reasoning needs to be done using memory ordering arguments using the kernel memory model (which builds on top of x86 memory model in our case) and when necessary =E2=80=9Chappens-before=E2=80=9D relations. The fact one CPU sees a = write does not imply another CPU will see the write by itself. So if there is some memory barriers that would prevent this scenario, it would be good to mark how they synchronize. Otherwise, I think the very least =E2=80=9Clate=E2=80=9D TLB-shootdowns = should be respected even if the ASID is already =E2=80=9Cglobal=E2=80=9D. I do recommend that you would also check the opposite case where a CPU that transitioned to global ASID does broadcast and there is a strangler CPU that has not yet switched to the global one. While in that case the TLB flush would eventually take place, there might be a window of time that it is not (and the page is already freed).