From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DA5210F4 for ; Tue, 21 Jan 2025 07:31:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737444688; cv=none; b=Rsn+FKBUNMYZLfyREZhrZqkeX+MDyh6P4Z7exb4OsQvSyl/XXYakIRVbRmboqMbfgsf+UF+OyyDF/0EL8srGyrNNPubBn6QwmvAnm/zHgkvYQVetwhe0rOKx/w4t8Bru1WA2VBPNGbUAZ8KnX/FYdH0Nv0kyYKDb0FQqk9wXt7g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737444688; c=relaxed/simple; bh=Zw12uql5MkloSfEk6IeW8JDTQSgAFVk0KpfSnG0GbCY=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Message-Id:References:To; b=OMHIIfiEY66+1tKCUFT1YmG7EQZr/bbZoR0D6yjpG/yZl2DSI2bGG5EiyTKRqCCHe8JGpXXp49qvJ6Kr7DhUtsRHwdsu0OKyz7P2ZIIwLskDgmwfYSnWXUHpJ7rMBzcy2uOVHXD9ge/ShkKdcPVnC9ItTnZaaUeD3H5r//WqdIM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hF+mocGx; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hF+mocGx" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5d932eac638so10373848a12.1 for ; Mon, 20 Jan 2025 23:31:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737444683; x=1738049483; darn=vger.kernel.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=hF+mocGxwChkuc6ksVmMVU7THfShVoL+UK1rChyoZ+XYtsCGqaU6KcpKs9hB5EoBnl HzJt4WAbjt+3aFHcuKI9qCudAN/qHH8eqtex6K5qCOwUzAkJMpZWUemxoIECi90pzMs3 FeaAnsNSo6o3F6wKMef6zNYS43fhR6mncPk98H6z2yVcnqO9Pk0F8JsZxsT3qsAQv8C2 wkUAr0VAMml2PIaig0CQH4fCLNEkWHcXqWDxJKACHljmNiH4i6Vdao/4sHqFiN5S/nDi c8G1OgLrNJNxhLqYRs7L0lLlmpXZPHFLWqq373dsf/kddjOc7VNEjCkEFKarsxExH1uk W/5A== 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=Nz5tNCRNmeaZIrTrna0hV7C9n8lUwJDMETjom8ehOEXbOHHooqHsHYaDLs/nes0s0K xe1IKxGDP5a/SuNHjG5NIdZLe8y+d5mQHi2zojhQ/nKLxhORe0s8fN/DCvPQv9vJH8jL YpccrEiQBYUzsuoSzJfIs7398B2PwcNiCmPPjQyyrH0ps8U3++zyzh3v3XZrpyzTyT9U +aw4zYnwy0UKcY90uBN+1RBNAzrFtGJIVRajhUQb37difd9tpJDfTWMe8WdD8S8a64N+ /UWU2aoNAA12Nn7UkGV1nFdK3ZHdWWzrGoqmY8RJOxGxlum7ZP47bBZ/QgYMuiv/r/Rj g7gA== X-Forwarded-Encrypted: i=1; AJvYcCUxmUuFJJcF3MG8/kJh/rYWhyCefBuHDcgGz75OreQz20d0KrML1AJalSWd6D496Gaz8vyB44ZkUCX+W+g=@vger.kernel.org X-Gm-Message-State: AOJu0YwM5MJzNVG4h5B//ia66LxNePev74uE5M+bAntUrmo3XZwljRuh KeWfdXKR7TnVKa1cYtRqq1gnheLDSbAUakBjygr77Gyrgynf/0PF X-Gm-Gg: ASbGncufoQcgrCvMvEwVXoR7hB/KyFW4dIyw7ZMaFBjMqXQdNNsVslXdgsHA+D/etx6 YhmaVXK8uhydgyQIm7YfvFHaWkUftdnjwzDN0Dg7fwlQNhpfnfx+bO7XAgvjRRi0z4XecepX1tY ixDEc+DGvcPn94aIPWGvPMLLsGEWKRAQw1MIvjqqCacfb4kgyLr/tjHAO0TUaqGz3tDhkK9MHbX y0BDsAzBr0QMiM66yUElnHwoMXYP/HsKNYwu9wADEJyCb/OdZVKqTDu8el2ir+PNgnDzZKQPl9J 9wocUCHyKQ== 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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) > 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).