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 AF02DE77188 for ; Fri, 3 Jan 2025 11:15:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E36A6B007B; Fri, 3 Jan 2025 06:15:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2930D6B0082; Fri, 3 Jan 2025 06:15:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 15B056B0083; Fri, 3 Jan 2025 06:15:14 -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 ECE626B007B for ; Fri, 3 Jan 2025 06:15:13 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9787AA070B for ; Fri, 3 Jan 2025 11:15:13 +0000 (UTC) X-FDA: 82965882594.26.E6808F1 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id ECC854000F for ; Fri, 3 Jan 2025 11:14:14 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Tf96QP1n; spf=none (imf27.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735902863; a=rsa-sha256; cv=none; b=KyyK1/fHJ46yftsqASkziASoNDqEy+uPQd9iA5wKmPGFfw/LX15bLj1LlqmIYYEX3KEVxK 0wAZeA1xS6ctgvyied6dRn4YeDO1SVWZTB4J3Ac17kTbUAvGLA8WWrikviVgsdeARAh+aG 16OD07LaJeUj2C7klFBMncJNMXQvcV4= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Tf96QP1n; spf=none (imf27.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=1735902863; 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=CPGOdr/jsXJNO5Wu3fEBGF99GP73lSQF/IKxQW4k0R4=; b=oRtp4SgeJJiNIWL+oD8eByrYkIAoj+6jtXQetvz4MR0gen08pEmuNpanM0rb3t1YdDpaLM c7VX1RG/7lSgaX8rNkDikYb5INFBS4VFtOmtcCBLX4CC0k/9nEbossXjOcCmmFt2lPXALT jO0jsAMYFh1/ZjbWXrrwfM8L3u6Uz1w= 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=CPGOdr/jsXJNO5Wu3fEBGF99GP73lSQF/IKxQW4k0R4=; b=Tf96QP1nI5zee8m+i5u3CA94h9 3PVNNoLdvhSBk2t6LZQP6KHn1+Y/Ig9kK3lwT2hFjHWgZiqq3VK4SzqQBmD6A0e29acKD8NJDsAzp PBklhel75TRoOCf5VTzc00lXza1eWj1sW19Tjleo1fc/L5i9P5juDXyKQY9kHKExje/1wAmmZkrHj FdESUWBGwWEamk3EA3c0+gwV4EPoveBGXJo3r+051uO72Cz+2Bir5nMUbKQ2FfpEvF0r1gyVxRelx Ro4i1hRHlfJmHnjxqwmbD1SaYDgPeAH7HhcAneWE1IcOwP7nCEbEkp2xJxpa8O/6L3gNZJN11KFqb fYAj5NUQ==; 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 1tTfdp-00000005j4l-1npS; Fri, 03 Jan 2025 11:14:57 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 3EDFC3003AF; Fri, 3 Jan 2025 12:14:57 +0100 (CET) Date: Fri, 3 Jan 2025 12:14:57 +0100 From: Peter Zijlstra To: Mike Rapoport Cc: Qi Zheng , agordeev@linux.ibm.com, kevin.brodsky@arm.com, tglx@linutronix.de, david@redhat.com, jannh@google.com, hughd@google.com, yuzhao@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, lorenzo.stoakes@oracle.com, akpm@linux-foundation.org, rientjes@google.com, vishal.moola@gmail.com, arnd@arndb.de, will@kernel.org, aneesh.kumar@kernel.org, npiggin@gmail.com, dave.hansen@linux.intel.com, ryan.roberts@arm.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org Subject: Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc() Message-ID: <20250103111457.GC22934@noisy.programming.kicks-ass.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: ECC854000F X-Stat-Signature: 6ogca3soewfna5atij4e1ew5tpey7ibd X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1735902854-341448 X-HE-Meta: U2FsdGVkX198V0sw2VI1AdExVVVTpFa0Rz2paXuC1TWzh0kJ9t69WvVeQ5BZUpGUV7XZVEhodxBrasbnnQzyDZl97ot77pwA7evG58ov7nUu3Ah5uyj7x5a72wE09fsfVYWroue0eCl4NLDLHCsa9x2ZHXSKOG6p4TY30RrSiqY2iX+60VB3znOd8LYIANVxzTNJvN0Bnzy+1X1r71jZQ3X7MffIoBU3kWf7VoZOBUwXKcbKCu287e+11+2aUCJRhKCdhzJCAYtDrGwW9fzHmxAR5QZEo/+2swD8vbyG7+Hos0BJ9wqkFEgN8lndTDW+UxRZlX+KKwP3M0H9irZ+UWx4qYeJopjkZCM3i1LhsXONElhP6AAILDI87rMT2tjThP44UPRCw3XbY0g8tadR/2KIBkJkzLqWL6mriliFMRmdriVir6W9cI/PPazebMHo7jVo8zwZGlY61rCDkctnpjWGMOItLAQWljZL5sjOYDtXeWL3L/tIw9JaTDIGUlElZc+tS7K13A0LWnvnBnhiPebXfzYVpgGyr9lZw7vc9D3EidnPsIdTYBrBowX9SASnj78Z4CGxEgmf4ffsKGLYMpcOAM8m1npi++7UXbr0V8wWqJIICykvoVJZQ/Vi2bMKcxmcIA3iW/0gtwngaRYtNJfHlu6oEuDJGrbBRJCwokuXLrRDouTZVuX1VFHQffau+BD0A0HihuTzTZGc4hFfem3V0/h1a13BhgdLAVY7ZYUh7VpnXz28lA/HhlnNxg57bt9EC1OfZ31BPLjtKdgyhl2it4LrcIJs+UtnYaOFgg92IElRGFwhOKQpDIiZc2S+7H6p+XK/3pmld9vF50gPXS42rSS3iz1nth3DDGamEddMXBc0l4KQErPC8wykZ4mk4/YtNLuKQIUFWQm1hCc3yG5qaatKKCe5AIADKbtRU3pX4XRP+iYPEpHQaF1IZCv/9a5oTO0AloYppyLC3UA +5dyrL8G 1bnHnRh5T0aKBKoP83qbOcD02sZJD9UFVC28hhlcoH0Kqa6+8rY7QwIfwxBkIu5cPkKWGIRHSWUXgpdpA+FNx9XVVKxKcC90l9xHz3/iL2wx35kqIP7hQ9yMZeL1phsMl48HUDTQKlSbMmuxD+LS6ndrWmUgsDxXcP10vwtHGNFEqvgkSui7yzXjTY9BGVjHK3g7NXTXN660n8e/5eG68RA8/Fw0Ntxa8VlD9kW3vqmQvA4L4q8wrJ1ERwRQc97OEa63jpStm/e6a0/iZOvwHWxYBi1BnBV7uCPkIU5Idl182dmnrpkCYyb4nXg== 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 Sat, Dec 28, 2024 at 11:26:22AM +0200, Mike Rapoport wrote: > On Mon, Dec 23, 2024 at 05:41:01PM +0800, Qi Zheng wrote: > > Here we are explicitly dealing with struct page, and the following logic > > semms strange: > > > > tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); > > > > tlb_remove_page_ptdesc > > --> tlb_remove_page(tlb, ptdesc_page(pt)); > > > > So remove tlb_remove_page_ptdesc() and make callers call tlb_remove_page() > > directly. > > Please don't. The ptdesc wrappers are there as a part of reducing the size > of struct page project [1]. > > For now struct ptdesc overlaps struct page, but the goal is to have them > separate and always operate on struct ptdesc when working with page tables. I don't see how the current idiotic code helps with that at all. Fundamentally tlb_remove_page() is about removing *pages* as from a PTE, there should not be a page-table anywhere near here *ever*. Yes, some architectures use tlb_remove_page() for page-tables too, but that is more or less an implementation detail that can be fixed. So no, please keep these patches and kill this utterly idiotic code. The only thing that should eventually care about page-tables is tlb_remove_table(), and that takes a 'void *' and is expected to match whatever __tlb_remove_table() does. Flipping those to pgdesc, once its actually a thing, should be fairly straight forward.