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 DEE41E7718F for ; Fri, 3 Jan 2025 12:19:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6E24F6B007B; Fri, 3 Jan 2025 07:19:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 691C06B0082; Fri, 3 Jan 2025 07:19:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5597E6B0083; Fri, 3 Jan 2025 07:19:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 36A566B007B for ; Fri, 3 Jan 2025 07:19:13 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A6689C0793 for ; Fri, 3 Jan 2025 12:19:12 +0000 (UTC) X-FDA: 82966043664.21.14FC624 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by imf26.hostedemail.com (Postfix) with ESMTP id 64B6F140008 for ; Fri, 3 Jan 2025 12:18:31 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=ITGn4B9T; spf=pass (imf26.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de; dmarc=pass (policy=none) header.from=alien8.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735906697; 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=qeZhglp01q6Zl1Xx064w95AIRZqFerW5UTK2rjlNPG0=; b=WrwHlV62PtPNUvS/M8MMNj9VSrEpCc5JChu4Qly7BGeL9fN2UwnA0gsh7KvmUAXIjF3dTR T7WSc3e4/22LMcZmcY/BmmDGFctfNVZdD/A0SkzmP2Kp9Smi7Ac96j0jTO/ecQPZBPhIQJ qzxNjXTWLgxlpYvr+SFBuDZYDg2r2aI= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=alien8.de header.s=alien8 header.b=ITGn4B9T; spf=pass (imf26.hostedemail.com: domain of bp@alien8.de designates 65.109.113.108 as permitted sender) smtp.mailfrom=bp@alien8.de; dmarc=pass (policy=none) header.from=alien8.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735906697; a=rsa-sha256; cv=none; b=TI1rhirUVbiqMqbuYIzD/HAbrCar+C9gSa4v+TcjGVFKsYhT3ei8cftLWqPS/rauaxXgzl ARJ2s3+X3AWpwzUH6K9Yy6hu4DcKU0nk5okWm5ZmZkeysYT4gCJVT89WFncioSbgcV8Nqh wm9CMs3H6xK7mk02TCXDOS4oZF6MAjk= Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 3407340E021D; Fri, 3 Jan 2025 12:19:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id pRmqmdkMJbuE; Fri, 3 Jan 2025 12:19:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1735906744; bh=qeZhglp01q6Zl1Xx064w95AIRZqFerW5UTK2rjlNPG0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ITGn4B9TPtDo7NKlmHBJbd5InidpD2TLqXdzDnh2upCVvk+jrZPcq3Fyz7VfjPjra VN5H9PWkKNHW+BFxtxeIGueynhSZDhc4+FNuXigORiVay3em8Vx4HuBh8w/nq5GezL MSp/Wk3FXytmK3NlPHagB4zITIy8XfhZgMhzaOaq15R32IgyV0TI+tRq6fQyV0NTQX 1uCng/QjlXuWqb6hGQ81ZYs6d3dO1WrXD/L0eMvuQlNpxuIdMBE6PmUot2WncvJ3/r aDRfRK3XemPQxL3Rj0I4LcYV640heKwrqBMbnPgi9oEh1KBKWRBhY/HtAgvj5js5gb FC8MAxF38QQcUgRX6a/2JAcPTKgV07/WgbG7G3uPQ/ysEl4mJwsfJSc6gAwVOBG6rG 6QfyLN+0h/rbujs/aIvK0/xIKyhyrpfLWlU8gPcwmc2WgoIzBRLQImS7tOXLdgbf5t mJSxPMoUJjwAW/IQB0TwVJJ47KGQ1ItDyIDK1nMdjX7FhJBwtdFcWeQpdJCKPStnc9 oFWM8Jnj6qIiX7yilfCCmSvzL5GmYAr/K+UcLBdDywuzfEyxKObMnyt183GMgKaRBG FSREygSHCxN3t9wLy28FgYajnycjSjq7t1B15EEJthFhjGD2O1+rdNGUlSLyjjG1SA hoSyXuMyxtP47UUTiMJVgi8I= Received: from zn.tnic (p200300Ea971f93BA329C23ffFeA6a903.dip0.t-ipconnect.de [IPv6:2003:ea:971f:93ba:329c:23ff:fea6:a903]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 5252D40E01F9; Fri, 3 Jan 2025 12:18:50 +0000 (UTC) Date: Fri, 3 Jan 2025 13:18:43 +0100 From: Borislav Petkov To: Peter Zijlstra 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: <20250103121843.GDZ3fVo0r0JRsGImBS@fat_crate.local> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250102195609.GB7274@noisy.programming.kicks-ass.net> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 64B6F140008 X-Rspam-User: X-Stat-Signature: dett4s3kt1mr8c9pzobi6y43pccswrfr X-HE-Tag: 1735906711-820662 X-HE-Meta: U2FsdGVkX1/IjqyCXrT6BY7c0mN6BqJe4O4tfQXpIdEVcXBxWqFv+TINlcDQ1EdRPSkKYA3yo+rlzdE6PAUfu7emjz8zqqYJqAg3aHNxL8G8t0tPl7sipZLtqZ8BNf0bWUhkzJj4KefrAkDrv11pyJMoNxlyulRb7S1LiCKckRXHCAnMQ6gg4dCFS29z+tjEbBRuVY+0giv1S/VgpBUXMHYw4OKgspmjGcTUUwQyXiKTBqzimkmp6+ponxMCNV1ohH8DtSGRUi9uJI5fXP/CuMiXe/YSMU2KcEi0gt7kZewdQl9W4v9rL5veFTn6X1eV48gfAOQPTWYdIPXwblldAI64lC8NrF7tfHPSmCkDIpQ+2zQKZhdJUqxJyxzsxsZyW52u605sdGjz8BDRJRSO9F2rRDWdTociyNV+kbdR6gZX3QNoq6lY7BN2Bgq6vkPS1gw5fXXSJfKURLl0+rTT15UYR4P4OI55NNI3G02fEbz9HFqjn0xNI6zJ+m5na816CcrI6l0VW+3niMjlTv2eNK/nxk7eVHpXOKZAE7P4wmQ+kpaY9DgXGvzmA1y5stS5rEQeOHRqN5ZK7HI6gvrKGq2+QiDLUyko/a9aCV1wuHPMpwIXZ5kArRZk7mhIMho0/5Di8Fjx+80jPMNiARerHiKMaLhTGsTiYOUv7yqQ3CrQClH7cBykhVt8nF48/QppwUNE1y60DWp1+z/MshfSdHOjYOhCjwlASWKo8uOD4RB7wpGuOp8apDEdHo6zCcs/G8+lm+Ez9kX4rU4VCaXeVVLubTyd1wnA29EO50NaIoP3nHzo5zJm4BDwFqDTDZBUTzLh0X8gHmP3FwXfcMU62YBsr6iJd2yqTmB5ffV4BVgR5OopzU1rkkrHkyKtSn8tqeuThI1BOiiVQbqqmZ6007cVBrlFRNakhWmy/s/sT+r61NLdCb9s3Vkn71ZcedENcAjdxPnqxND3nuJ5kSR Y/mLSOrK ie6B4zGjSIuytG4zN5r8zBTSPA0Ke8yblX9cyMkYMELK9F2XT1I9iH88IVzZxezeAJrWiyBoLcPjIANzajn0/uiBoezZhCmBtDfiDQW/a45GHnG2/ZMmJKfrI47VbKEfEyQ9QAWrcoLC2ZQbj+4FtXWaN/ivhH851sK99degOSZ5jfVMPbfE/mvKjicpeK3ilF/qYBL5rJ4Uz6nqROll0n9l7OWNds8Ah5j3TPkd1hWrSxBIv64wldNWPqPgfh2i8vXg8jiqUv9KMFxlYB6FOHudOGcmVDaPE7LP6MY2j4CVY6jr1IrmWKeaNCTZdUzbzkngfNhe5nHZA+zeawBprmnKHYGu26wlYTPZrJOSsSfbQx1yfHuPLiJUMsw== 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, 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...? Meh. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette