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 05044E77188 for ; Sat, 4 Jan 2025 16:27:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EBAD36B0082; Sat, 4 Jan 2025 11:27:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E6A136B0088; Sat, 4 Jan 2025 11:27:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D31DE6B0089; Sat, 4 Jan 2025 11:27:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id B32C36B0082 for ; Sat, 4 Jan 2025 11:27:26 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 5CC93A07BC for ; Sat, 4 Jan 2025 16:27:26 +0000 (UTC) X-FDA: 82970299692.29.E2FE42E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf02.hostedemail.com (Postfix) with ESMTP id 2CC7580004 for ; Sat, 4 Jan 2025 16:27:22 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=vA+Id1XC; spf=none (imf02.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736008044; 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=+AB0mgBgoYiRiqb3qkGBo0XZC0jbbLlU3i7QwZfKwbg=; b=Io/EO0VmB2kMaKVlNT1Mnvi/oOMk0EDBuA3qFhObfunBwEcf0HdfFgxlExPcUZqF+zXahh +T/DPM4IrfDNl/CgBgfYQPCiDOpTj64eVcAMPzklIb/pLxTOJgqUMBpFFGk4Z7xlo9495s te+GHSPUqlkh5qmBrykE8CB4Z+LY+yo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736008044; a=rsa-sha256; cv=none; b=vfu8QYDNFd5h4OcwDqBpXsEeNrzyjt1lNSJQnJBxCrwaz1PsQl4izkHyoLNrX2LSQvCFfI gB0gerbHr9CeV7Ag21bG/b90glco33+8YqU5NFpI2mdHAk8CyKZsnqDLkHBG0mNgBIn/Xn vJ6hSKAorMXyOOecFlv+ktauVHaNpM4= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=vA+Id1XC; spf=none (imf02.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=+AB0mgBgoYiRiqb3qkGBo0XZC0jbbLlU3i7QwZfKwbg=; b=vA+Id1XCC3ndWqI3AYvJuaeY86 sgc/PLZWakc5bDVhvjdylmGRFfVVE0vhmJLXCzb6AmD9Ac8X+6914tEVSDoLbBX6wBqLmO8RWTcCm AHwxpKNhGf93ScQ/LVHRk7Wildlf1Q1RXbrjUyMYNPLYTBUT23bcsOtnJrllYjFlF4DRaLeXnmXse f48sb/39rqU0cscDowEIcuD1dE3YGx6LgGD+gdEmbrw2eUXLuvlwIZkva8DmphUZdwGp9K3/5BIPk KlilX7p/2aH8n9dscxse3X32E3LC5RA1a6RagUMGMFvvp0wQ6uFLG5mtmls1+0zNEiYgAzPJHS+kE xZh8sbVw==; Received: from 77-249-17-89.cable.dynamic.v4.ziggo.nl ([77.249.17.89] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux)) id 1tU6za-00000003Sfh-1abN; Sat, 04 Jan 2025 16:27:14 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id C40803005D6; Sat, 4 Jan 2025 17:27:13 +0100 (CET) Date: Sat, 4 Jan 2025 17:27:13 +0100 From: Peter Zijlstra To: Borislav Petkov Cc: Rik van Riel , x86@kernel.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, dave.hansen@linux.intel.com, luto@kernel.org, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, akpm@linux-foundation.org, nadav.amit@gmail.com, zhengqi.arch@bytedance.com, linux-mm@kvack.org Subject: Re: [PATCH 01/12] x86/mm: make MMU_GATHER_RCU_TABLE_FREE unconditional Message-ID: <20250104162713.GA22803@noisy.programming.kicks-ass.net> References: <20241230175550.4046587-1-riel@surriel.com> <20241230175550.4046587-2-riel@surriel.com> <20241230184118.GMZ3LpTn3dHvu_bq-p@fat_crate.local> <20250102195609.GB7274@noisy.programming.kicks-ass.net> <20250103121843.GDZ3fVo0r0JRsGImBS@fat_crate.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250103121843.GDZ3fVo0r0JRsGImBS@fat_crate.local> X-Rspamd-Queue-Id: 2CC7580004 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: o5pu3h57ysmbr1rw4fnkqpfp4gzeekp5 X-HE-Tag: 1736008042-32778 X-HE-Meta: U2FsdGVkX1+Q8SIKPOSfGXqkD95djd18o2uadMYFTO51UWUaUXuYqxT/qcpElDxmB41w2fSac3ry/hoRWux7CN9WFDj7qOEwOjXRzc/kmGXaBy+s23Q5vLuGJbrJ+Vl7/P+31nnMo6XHPoKKY76yv9vDe1YL/Z48wt8buaGevPhRpsO5ycT36owsEptabx5++W6m87rco662oekIjl5YhIbi18Ob0+7FH38/g8n3hXmokEi53wirr0Jx9JogkZzarK87Mpvvl4ZBVPNxcg9xSL+Z6KJsfvHP0aEzZ6rWEbtXN1EiGy5D5oQJkuTnpjfHOklyI8d6ODGKldQAqHW+hu0sRVJa/wEcGEclTxPBCOz0XzZwkmQWT/4pnJ7VXecn9KURqMP1ryWEYxtX1/zTa5Kq9+mbN/LZrSLexdp8yVnMNeXYK1v08u9Y4fdo+zEoL0McPh5cTqTQ9F6mwpGacV+UkkdDf0bAC0koskhRvsw4nu/BkQpLDkw9NaJoVXQXWCoyr1gr8RNLeC4F3WBq9ZWHwyDOEqpRPC6UY+nnl92bsWcb74I3eZ0XiVKf5RL9P645ICUptwMG8PjHPDhHpOrXYUK+uPnZN0rTCtK9mocFq725UKgIOyT6ATEPcFkpk52gnz0NcnZFwTdfXNYngiCjXbnKnLrZJjXI49Ngo/A2bjrnj80dY0yZvwQjRLnqJfEb0Ljedm10X8FOowRxCWPax5Gel9v5bYs2OGN0tv6eHpTb94rzKgK11+Gjqru4EMvQ2g+TA3nKCnShPra6UWN59167w2Qst+YjHrCjXYQ4gc5LLJU2L0U2oNnVcGRDLE0gyxyb28Vk4tz2h7MjS743/5RGgBlvXxM26H4CEMmtgWWINkqDUujdVGrXimpMgd5wDmVAmp7Vp9wPg/SYcDKMo42+coG4N5iZBoQ6eugSagc6O2TtFmDKfhFqjTaDbqxLzaDvGXDFMNSk8dd ysqsV0o7 1+hsNllx0zF1WKvwU6JOukR/c7iFT1vgINqUDKqUslhk7C+Y1zkAvyeemgRF8okb9jiU80UiKmP45UP+2ZPYg3B572NE9OFGQDixEkfkq9XMgtciwio1I5x+3XA+dufZBX9kcTRS4UPWVYhYZlfgCIHg24qrX5Ut41kf6bGNF+gc6SQgzjUumfSTzlfb8uixNStcqoztjjFqoObJOLSuapg22mivs0qfGqlKkhVXm5LL0XqlHMRGQujq6w50Ej/GNUeplMZc/uJdsRhOrMx8qWj50uugoLtjjUfAPxyhws0zBkBts6WDbHnGDYg== 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, Jan 03, 2025 at 01:18:43PM +0100, Borislav Petkov wrote: > On Thu, Jan 02, 2025 at 08:56:09PM +0100, Peter Zijlstra wrote: > > Well, I've already answered why we need this in the previous thread but > > it wasn't preserved :-( > > ... and this needs to be part of the commit message. And there's a similar > comment over tlb_remove_table_smp_sync() in mm/mmu_gather.c which pretty much > explains the same thing. > > > Currently GUP-fast serializes against table-free by disabling > > interrupts, which in turn holds of the TLBI-IPIs. > > > > Since you're going to be doing broadcast TLBI -- without IPIs, this no > > longer works and we need other means of serializing GUP-fast vs > > table-free. > > > > MMU_GATHER_RCU_TABLE_FREE is that means. > > > > So where previously paravirt implementations of tlb_flush_multi might > > require this (because of virt optimizations that avoided the TLBI-IPI), > > this broadcast invalidate now very much requires this for native. > > Right, so this begs the question: we probably should do this dynamically only > on TLBI systems - not on everything native - due to the overhead of this > batching - I'm looking at tlb_remove_table(). > > Or should we make this unconditional on all native because we don't care about > the overhead and would like to have simpler code. I mean, disabling IRQs vs > batching and allocating memory...? The disabling IRQs on the GUP-fast side stays, it acts as a RCU-read-side section -- also mmu_gather reverts to sending IPIs if it runs out of memory (extremely rare). I don't think there is measurable overhead from doing the separate table batching, but I'm sure the robots will tell us.