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 E7931D2E9C7 for ; Mon, 11 Nov 2024 09:17:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6ED416B0083; Mon, 11 Nov 2024 04:17:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 69C9E6B0089; Mon, 11 Nov 2024 04:17:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53DE66B008A; Mon, 11 Nov 2024 04:17:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 34DBB6B0089 for ; Mon, 11 Nov 2024 04:17:16 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E2767161816 for ; Mon, 11 Nov 2024 09:17:15 +0000 (UTC) X-FDA: 82773258372.07.FFF9628 Received: from fhigh-b6-smtp.messagingengine.com (fhigh-b6-smtp.messagingengine.com [202.12.124.157]) by imf26.hostedemail.com (Postfix) with ESMTP id 4F9D2140019 for ; Mon, 11 Nov 2024 09:16:43 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b="L ekmzLg"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=F1c+RZqI; spf=pass (imf26.hostedemail.com: domain of kirill@shutemov.name designates 202.12.124.157 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731316462; 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=XmE3W7zetRFDLRGbYnAfuW8ktkcE5sxS4dONI2aWK9o=; b=AQVEidv8YxOCRdk0P1UDkCPpCRjPkZm4zr1egWkYF6dxj03Oe692gXJ5Q+35IzkxqQ99Pn 445Dk3owyuK3YjP+sSRsjurhA/jPg7gqNfSg/+RARw/egTG7aqOTE+DwKjtkZyEIej19GI ldnLtJgELUtCbUNLPoY9K0Kf85MJYVo= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b="L ekmzLg"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=F1c+RZqI; spf=pass (imf26.hostedemail.com: domain of kirill@shutemov.name designates 202.12.124.157 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731316462; a=rsa-sha256; cv=none; b=c8kAVPDBWptcqw/tXFwYp2FxnH/tB2H0tTY2pt0h1pMyN9eMTGm6nny4HJDzfVuIdnMBVZ KSW3s+wT2nUrP0NE50/5ObSbwdYObIx6HVyu335FkdjV3tsqmq8xgE5UVgAJPD8zRe89nS AJbqCORkutXOSBfpOdLJ35U9z14uc1k= Received: from phl-compute-08.internal (phl-compute-08.phl.internal [10.202.2.48]) by mailfhigh.stl.internal (Postfix) with ESMTP id D55FF2540092; Mon, 11 Nov 2024 04:17:12 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-08.internal (MEProxy); Mon, 11 Nov 2024 04:17:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1731316632; x= 1731403032; bh=XmE3W7zetRFDLRGbYnAfuW8ktkcE5sxS4dONI2aWK9o=; b=L ekmzLgiqx0Wv2UAa1SzpB10lqdpkCl9CQIw0/J0rCpvM0TGiL3ubC2O7PCe5ia06 rM2oouUZManNnhvwSs5RaoC9UTJPqNhg2VPCY1w2DjN0ItiiyXZkRgFy4N8n7PGP cuP5g3yMgtUNKdj7sVU470RdLCeTYHUFZxlR1u1E75l3Wu1ny4EZy49MvoRbRNkB ZMXqfoAagOAeizFJCzMBqbce/4+LCvH6Wg+eFLEOk+at3zMDokGcgh7I/rsdFxaH RLnDVa/uMECchEo9h7vr6TDvTdDIsuuXdzsril3CiwSwLHJUmvIextdSZroMrTp6 C0BXm7qM5e11SH0DbjcRg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1731316632; x=1731403032; bh=XmE3W7zetRFDLRGbYnAfuW8ktkcE5sxS4dO NI2aWK9o=; b=F1c+RZqIrDFmV3pW5Jd4pDJLeZRq4Vqnb8Q00u6Njhx2p4S41+8 tkZLE8zcria+Hi0+odfoBaNrgdVovfZXHicJaX2sUN1fuhORoHExYhYu7Z6MVwsc j9j4tk2RzmzxAkjvG7J6WqrEy1LptSpMtlzMbsGBLyq0j3tw4eor4Udmn5Wa/3Oj eljEQHqNqAn10QXDFeFQJrQWu7boe1p8m3GUEowqNjM8ZXkmi67d96SoEHa2EDkN DrzSO7REjUrfFyVYH6cO2S53LbpNg4W/CAeALOcQAPfVVvzPQZrrmirGoAhQ/m/5 euW9flcHZxMJiXLbbR+EYTytrmST5kRSHbw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddruddvgddtvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnth hsucdlqddutddtmdenucfjughrpeffhffvvefukfhfgggtuggjsehttdfstddttddvnecu hfhrohhmpedfmfhirhhilhhlucetrdcuufhhuhhtvghmohhvfdcuoehkihhrihhllhessh hhuhhtvghmohhvrdhnrghmvgeqnecuggftrfgrthhtvghrnhepffdvveeuteduhffhffev lefhteefveevkeelveejudduvedvuddvleetudevhfeknecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepkhhirhhilhhlsehshhhuthgvmhhovhdr nhgrmhgvpdhnsggprhgtphhtthhopeejpdhmohguvgepshhmthhpohhuthdprhgtphhtth hopegrgigsohgvsehkvghrnhgvlhdrughkpdhrtghpthhtoheplhhinhhugidqmhhmsehk vhgrtghkrdhorhhgpdhrtghpthhtoheplhhinhhugidqfhhsuggvvhgvlhesvhhgvghrrd hkvghrnhgvlhdrohhrghdprhgtphhtthhopehhrghnnhgvshestghmphigtghhghdrohhr ghdprhgtphhtthhopegtlhhmsehmvghtrgdrtghomhdprhgtphhtthhopehlihhnuhigqd hkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopeifihhllhih sehinhhfrhgruggvrggurdhorhhg X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 11 Nov 2024 04:17:09 -0500 (EST) Date: Mon, 11 Nov 2024 11:17:06 +0200 From: "Kirill A. Shutemov" To: Jens Axboe Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, hannes@cmpxchg.org, clm@meta.com, linux-kernel@vger.kernel.org, willy@infradead.org Subject: Re: [PATCH 09/15] mm/filemap: drop uncached pages when writeback completes Message-ID: <2tkpzi5y2dzihcji6byngv53qjyklcforon2fnnxsmkduwiue3@vfqxataeqdaw> References: <20241110152906.1747545-1-axboe@kernel.dk> <20241110152906.1747545-10-axboe@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241110152906.1747545-10-axboe@kernel.dk> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4F9D2140019 X-Stat-Signature: n8id6w6ra13xb8d4y9wj15zddyi494ok X-Rspam-User: X-HE-Tag: 1731316603-105813 X-HE-Meta: U2FsdGVkX18sM5AyFNg4IAOtKyOD8c/NW07YJ+9RBQdHeddwcxTe5aXHKPfDDlATNeAlKFCfl4V9UsZ5hLi2SCsOMu56EV/1bNHoOeeNqgursWQ+nSLFCiwb/s1trloxDnvS721ujuMnecJPnN3tAqnHF6vclfc1f/O20s2pDrw3Au0MpSxZUcHpAdh/uQXsmOYvO1Vm6jW7TA3HmSQUMbmnH+wwqHaZRmtlwEoPc+FJ/Of+VYqPdUeZxTHNn5kfptjyuFiwKJFqyVJn6ZBaI8lLReUagVjdIl9HXPH4sONY6BkqXccBmvRGmsPncuRgqwYUfbexBFsv+25i0Z4tx2xMtbq/khEnFyhxsNYNwmnGCmP5WALg6+tISeJcmcoB0mMPRP3xg+8HmMwUtyySarADgGopqBSoFWREOxXN759wf8laqCqkL9VPgXu51h+ujbfUuONJbkq7OXIVVf7PYn6i3dCWmGXkt2NRpXU1h+fveT1+cZBQKta87LZeJDW94QDzbF05a/YiNicCno2mjP2iyqhLRlBvcJ+c2wzNKiTEVCCeKOGIHNTqbwsDodYw+/QKO1Mnug90aI1Jd1OywbWWRmBHVv8XU9eMBiHSrWARpwZPw3o5RqKLrCYeDrT5+fmiulT7MW4JRZCQoYc/sfbOrAFIzwQ3tcPiLNa29cxJrwtiX0EC54mjOtkH9yn2aTpIJEZqSAIiMcahR3mbLqeTzRexvtLRFjCmxbm4vC1E5r8f8eM8HANmsCgAChNOSNv8UuQFbnhE7WUveG3QrVl8Fma7k1GTMXzU/ByW1He+4r0SIIW+OKuUPwrQwH3AyfpccPYhjiS1HMwVB6IpY61UVchbAZgEknkohJiwE3ERelNDtIOp7cQQi8W+oUaDKWydaLNodidkQKQisiJJe2b6NyED3F/ZLD7gG9BqzaqXhrJD/FoZY3148oG7QVbiCwdFAopPE2KGwjrpEvX iMdp2ZFI YtLB0kI5zGw8H4HeFr+StsuXi2M0KusSFAxs01oO+lDvs9iqgU86hbIWP7sRCfPh6gAy+s/k3IvIbyvVQ0HjYSc1FUshF/H5euvt+SqGxRtpPa98ipkTqWXbLVQfUcbKxzIfloljHZjDzMGBt3sZPziG0q5AbWLa2M2DSsDafaWdLejI3uDlgUJyIFhehbMOYUDU6wiJdAYZdG6BYAgZsMpXDIQnzTDUw0tfVQVtOXOfIFgUEJCVPzOzBTP1TDvQtooDBV5Z0tYFP49km/7SYiL0h/pXFfMZCFWMGSwjnm0uOOLfmOONKWenw57pQWv6FNimtgA2osjfJDEhJsfU3zGUKU2aNBlyDqaPEkOMmmEdII8vcr92MlTv18mjltoD7L2T2C2SNL/C16K8CldVU7kj47A== 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 Sun, Nov 10, 2024 at 08:28:01AM -0700, Jens Axboe wrote: > If the folio is marked as uncached, drop pages when writeback completes. > Intended to be used with RWF_UNCACHED, to avoid needing sync writes for > uncached IO. > > Signed-off-by: Jens Axboe > --- > mm/filemap.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/mm/filemap.c b/mm/filemap.c > index bd698340ef24..efd02b047541 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -1600,6 +1600,23 @@ int folio_wait_private_2_killable(struct folio *folio) > } > EXPORT_SYMBOL(folio_wait_private_2_killable); > > +/* > + * If folio was marked as uncached, then pages should be dropped when writeback > + * completes. Do that now. If we fail, it's likely because of a big folio - > + * just reset uncached for that case and latter completions should invalidate. > + */ > +static void folio_end_uncached(struct folio *folio) > +{ > + bool reset = true; > + > + if (folio_trylock(folio)) { > + reset = !invalidate_complete_folio2(folio->mapping, folio, 0); > + folio_unlock(folio); The same problem with folio_mapped() here. > + } > + if (reset) > + folio_set_uncached(folio); > +} > + > /** > * folio_end_writeback - End writeback against a folio. > * @folio: The folio. -- Kiryl Shutsemau / Kirill A. Shutemov