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 229FCC3601E for ; Thu, 10 Apr 2025 18:52:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A7AA9280121; Thu, 10 Apr 2025 14:52:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A29BB28011F; Thu, 10 Apr 2025 14:52:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F339280121; Thu, 10 Apr 2025 14:52:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7252428011F for ; Thu, 10 Apr 2025 14:52:00 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 993A2BB433 for ; Thu, 10 Apr 2025 18:52:01 +0000 (UTC) X-FDA: 83319028842.14.EACEB2B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf24.hostedemail.com (Postfix) with ESMTP id EF21A18000C for ; Thu, 10 Apr 2025 18:51:59 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dE2zDHZV; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744311120; 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=5xOoxBESvFSvlUi8RPYrSqpLBX72FlC4rdxePaYq4Gk=; b=3Av5jxL7DvDSH2D4dpLEletv2Ot145/2pqRaXEAgNjVhz+0M8pb1A1vHJCITtYBWVUUTOu NY5gTdbWfizQ6WTrrCoWRN5KO2uBZ38D/QpBBYh45MIESQdn0d1b0uHnkeqhyNz2zHT/34 rj0UkCqMCqJsbJEBVq42TFqZCp5Gf0o= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=dE2zDHZV; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744311120; a=rsa-sha256; cv=none; b=zhPEVncAyhekQFbn3sAcTLnVTaXv1fIKHXgC8ykJGHA4Vu6U0Zmkt2vBBx0uI+FpBuhkzn xKywvTci1jUfKkMLVXoNY2uv3/13ig57sQYlPnX+PLsQhU3lGfBruHjDoB3JAeoz8ByrSM lSSSZ7Wwk3rQrcr4A2U5v3Am8Z8SMt8= 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=5xOoxBESvFSvlUi8RPYrSqpLBX72FlC4rdxePaYq4Gk=; b=dE2zDHZVBGxsKX19KxDVtzXuv9 y4Snvzc1lBYtTc0UU1E6WgAc3re9u6h6/lXS/lHtuUS0cI2wim7Wg9WtKq9f1p5HYz5CPeurau+CI amOROTcdM41zZA7izjcpyBqeTzD1FlUShNn4mpSNB0iX/Bom9lNh3LTBSHea5qnvsf1cPaMIjE8OK 40FbiSyGsbXj3C/RCNEsQDtd9FiL6MmNJVsh7FfRtZ4od7UtySId35TI6w3jmRrPcdrMLPjLk135k Kw7id5r8oQ627iXpG9Qi69/GC7SloEvieLZYiGoGKijFThFlgBQdvDtn8LIYSgnsFCfIBrv086/YR /AGhI3lw==; Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2x0D-00000003GdX-2Xgc; Thu, 10 Apr 2025 18:51:53 +0000 Date: Thu, 10 Apr 2025 19:51:53 +0100 From: Matthew Wilcox To: David Hildenbrand Cc: Zi Yan , nifan.cxl@gmail.com, mcgrof@kernel.org, a.manzanares@samsung.com, dave@stgolabs.net, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, will@kernel.org, aneesh.kumar@kernel.org, hca@linux.ibm.com, gor@linux.ibm.com, linux-s390@vger.kernel.org, Fan Ni Subject: Re: [PATCH] mm: Introduce free_folio_and_swap_cache() to replace free_page_and_swap_cache() Message-ID: References: <20250410180254.164118-1-nifan.cxl@gmail.com> <83e8b1b3-fc73-4a49-9f6c-36489c3f39d6@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83e8b1b3-fc73-4a49-9f6c-36489c3f39d6@redhat.com> X-Rspamd-Queue-Id: EF21A18000C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 1ab9s1zxwyhwaqdqybomqechsmc3dmzd X-HE-Tag: 1744311119-905086 X-HE-Meta: U2FsdGVkX19CtBLi+BxzOZpdl85tullNAURtvY1JbXbunQFIOADdsgUprkiDqamluFzWF+D/QMEvAYSDxcpWHFyy/bXqZCQhKJKyq4Zmkga6AF6INAO2RrwTH2zFJpLYdHv/3lXPrWybxsp8iapT7F1TUXzT9uKHPu5F24/Yl0Gg+FXMFExpLyLiBV5LmaziHGxscAH82VVBeyLAUXvVzXRwTzgzZPBiBpP6NnkGIunGFWA1PMGJb4F9fAahstWp0XBzNWb494GGs/PICf97xnH+vTRzkTpWeF+/u2NPYv/bKHpQ4u7g4YCL8n0esfRGE9BJ8b4qNfuHneTSRbTPLTp2RPniDaXC5XjxhDjUCNv/K95XCSkCwfO6onZanHO1BrcU0Vt/FrSn03VfXneiVeEZFH4mhACHZuBIoIpxa58wfTYrlxthD9dE1ZCdVizZgazOVAX2mOpTvagrrZLImMV4bHqmCUDrkZ5eG8lt1XLGf+lyjuj1T7kiH57nBiw2gb7guQ1o22yuJ0yha5zy641acwwdknnSqIpbBUYUb19hSY5g/KgB6SslfLPW8t6eillWGiV/DhKO63RW0Bzjx+zG3Mv+bBbEF2MoM8yqVKpusxSNSM79GM8SA20+rjRNNEQaNksXxsdrXKrqyU/oe57QaT58Ud63lOlJecb89prolN5NQDuLllMTgel5dRb9DYwthghKIaY4CjpapXdKuSKchWHoL5+ebx1rFQp38W/V9PD7ZVogc3MWZAOV6qltXvnlB/8lO7ZMVi1dxaahu0EkhQ53RROcvr9w/0ZDbEQQhcH+bxgVenlS1285LuZ8zieyOQt56vPUE4IurMg+UMZLrS+isDlfvCAIDvkl6u/YID69zhqiAkzmVlp9jQ75vf9aBZBMHFjBSqo4PbowGzQkVtbKRPEXMb4uX7pRkpI4hJ8bU67r1ORImbluML8eI6PtR02O+9qxlsYCA6N YDxCHAvS /y3paHGsUujHJczJToq2P1FmRsLo37yYESfm3PMYwF4OgWYl/bK0Pe41G4Q== 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, Apr 10, 2025 at 08:36:34PM +0200, David Hildenbrand wrote: > > but would we be better off just passing in the folio which contains the > > page and always flush all pages in the folio? > > The delay_rmap needs the precise pages, so we cannot easily switch to folio > + nr_refs. > > Once the per-page mapcounts are gone for good, we might no longer need > page+nr_pages but folio+nr_refs would work. Ah, I see. And we'll always need to support 'nr_pages' because we might have COWed a page in the middle of a large folio and so there's no rule we can possibly invent that allows us to infer how many pages of the folio are mapped. We'd have to go and actually walk the page table in the rmap code, and that sounds like a terrible idea.