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 F2E23D2E9C6 for ; Mon, 11 Nov 2024 15:25:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FE616B007B; Mon, 11 Nov 2024 10:25:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7AEA96B0083; Mon, 11 Nov 2024 10:25:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64F676B0085; Mon, 11 Nov 2024 10:25:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 468DA6B007B for ; Mon, 11 Nov 2024 10:25:29 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EBB351A19A0 for ; Mon, 11 Nov 2024 15:25:28 +0000 (UTC) X-FDA: 82774186278.07.81A3092 Received: from fhigh-a6-smtp.messagingengine.com (fhigh-a6-smtp.messagingengine.com [103.168.172.157]) by imf01.hostedemail.com (Postfix) with ESMTP id 4C9CA40005 for ; Mon, 11 Nov 2024 15:24:55 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b="Q jtZcKR"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=XQUTh0U6; dmarc=none; spf=pass (imf01.hostedemail.com: domain of kirill@shutemov.name designates 103.168.172.157 as permitted sender) smtp.mailfrom=kirill@shutemov.name ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731338599; a=rsa-sha256; cv=none; b=ooFJvv23bedAHlUIQIUfMiB7Q/URM6L0z1SlPuZTX1niFXCCFiSX+z9Z+zArvASLh33d85 o6jTjrqexwz2WHL4q7spaapaPo4Lz0uKnamnnT1kdrUxixkszFwUcCMBspiQLMZxcIJbqw m2JOIlsgClrolABmTey+CwifokkqD4A= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm2 header.b="Q jtZcKR"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=XQUTh0U6; dmarc=none; spf=pass (imf01.hostedemail.com: domain of kirill@shutemov.name designates 103.168.172.157 as permitted sender) smtp.mailfrom=kirill@shutemov.name ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731338599; 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=glOUfK74CVhSoPgVs5u0b45fN1MMozNH166QZjbcnEQ=; b=5GQfe9J7vx7U+pqrgveLtk7SCpiiIX0xfQwdxUljbuonxg8piFtcB5X+ivL6C7uueGTu3F Jp5fdt8LbYxtxwoap+AUGRQVGuy6RWfDA0YSCNrx18aYQ1X/QI/efGzaMAcNLhLzAy7+4B P5nqwycf1d1gMJB9GH7SlBrh8EX3zq0= Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfhigh.phl.internal (Postfix) with ESMTP id 3E9AB114019E; Mon, 11 Nov 2024 10:25:26 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Mon, 11 Nov 2024 10:25:26 -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=1731338726; x= 1731425126; bh=glOUfK74CVhSoPgVs5u0b45fN1MMozNH166QZjbcnEQ=; b=Q jtZcKRo+2VpN4sUOq6yeXY6iXnPAJ8V+hUOO/Z8SlYs+Uv51jxnGIZ45NGbB5zyS GEcpRhOQp5oscadc/X5/OnmqJwLOBVr7XUeJjkET6sUO1YnTRQyXac6slT3AZE3m BCiNuT1agTMW0HEf9dXNWmvybpW+75VefSJZvJBkQU+OpMYMZtLfGFpxZI4mdiZG yV5UETeicoGCp3BoHxLaIDqMNikoP0fhPntLGBc0TkNx5CAP0wRC4ZxKMJjxOLQ0 7g6Y8XGio6BktXBqjDbDY0X9px+8x2lln7Md8FZ2BQ7BINSZMBG4rgpVSDVLwPNU FmK78jJCJi9BdslcOOOgw== 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= 1731338726; x=1731425126; bh=glOUfK74CVhSoPgVs5u0b45fN1MMozNH166 QZjbcnEQ=; b=XQUTh0U65YU2xIul68Mzm28z75M4sE+fjHFJ8UNRfpBWlWvgqzA 3x6uVQYywpgL3TfLp9mT8mjgRuJCt2XL4beqKgwLMnFuP4cDHI8LYmbH+oVkqisO D+FPiYEk6rhnpIhI73Bg/Errrr9pgxod2nUa7zr9Q95Bxms+zuTzCgt34vgPDvvq /Q5/OPzAz6QVm7XLX/xO/EQuy5e/4EB376PP0OQwqV6/uWnMfIg4AiUM7ZcNU55j aIr5GI6U5MmJ0GjYxUw5gF2NhHD5yHG1ShJrLn67m9GcVCTOsCjt9bYxpddED2eM s82B/IPmesoQuMUl4Vgrs3w91TweJOpBmZw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddruddvgdejhecutefuodetggdotefrodftvf 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 10:25:23 -0500 (EST) Date: Mon, 11 Nov 2024 17:25:19 +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 08/15] mm/filemap: add read support for RWF_UNCACHED Message-ID: References: <20241110152906.1747545-1-axboe@kernel.dk> <20241110152906.1747545-9-axboe@kernel.dk> <221590fa-b230-426a-a8ec-7f18b74044b8@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <221590fa-b230-426a-a8ec-7f18b74044b8@kernel.dk> X-Rspamd-Queue-Id: 4C9CA40005 X-Stat-Signature: njb7nioy5u1ub8i7fije6g8xpcwc71ps X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1731338695-24444 X-HE-Meta: U2FsdGVkX1+HVuzsn9BWWoNhBZ/8tbpW/2Bmo0QK7HYXJawQFgfzIqNC3ZmHT/9cMG5XvrudA1rRIEBk8lzpsAE3R/wTp8SAoIX+WuoaMeXmgVSFTZqdUCerZQC78XTd2I14INl7HutLPfuRIupE6kvqViz46DdeNUbny0v9eE1NJL8NpjR4Q91/0cylnPcQK2qRlH8zZdgxwe3MyCqiZJ4Sh7JJSniAjTxme3CbKO6Qi2rC5tgs2NTHE1UewNP51Gy4ZgfTTCRNYUvyKGUzLOHQS0BT7zWC9Wxi8oWTY0Al9Pg70TIYUnQvX+lvbDC9wPiaxzsRCxoaRph9K9pubhZvtEQ3mxiC0tSnKtrN8IPdnPhRE2kx1f8I4EZsBT7QTaJqtk7pKLT5J7ElfnRi4o2RLdyGf/O9FpOdiCLTtgzkk3x52nI+/Wnix8pcLnBA8KRVfljXe2bUbHsQfnbiwcSRzUerAgiONt7wLKTMSOKtEtliFocU8aC6aONyzlQ7WMZ6/hEJjBFJ9+tR5F6c3dBCtZfPqad8yLmO547HFv+o1Jnh/1MunCts3gr9K6bPyhHviVdKcTgJeNk4uhjNmlv/95isrZu94BEEp4OhsTV9JQlHgQTEzcdNtFMQYEN/lAOjL5zHzl3h8hrIi9n9dEAAPiM1jmjgYLLasl87p2Z684eNEmL0tlC94nqkxkDMTmFlZs4OoGk8b1E8DFl1V6oJSr1gpGpR7yIhy3U1NuBQPGFNn1CvzpXXBCC5ZuhZME0DH9zSwJuGJrtNZA6FDjomObDdvSZl8USGoTN6lNyv04ypEBsTXOk4j1+mkImKoSKz7S8s8XsM0yy/nLsOBOpdPSQtg+ac6Dp3W0VctYScO7ddd6rgGPZ13Qfzlcb8aMKAmM19oTNm3wb/2whM+T/B5I0eea/35tVSj589XZf110pgclg9dePBQ9N0PlGo8GklGwDsQbbKXqXwTk0 WXjTrAMW qQKzQ+w3jQRUuujC/Jr4hKjI6grcbD63ks0FCTjwp6yVwXBmxPlSI6edLhWIa846nuW0b9yXKKqpv/pmmxsHJHnZEz2fLQnWUT80YROOGPBZ60P2dtic14D9y+tQf5vC7CctOQTdbX9djg844LBZaIWN842yWWCx2J/VAW1LP4RnxNTlU5tA2r0oHqyAfrqLnq8J975ejaEQST34b1Je3JTUhgM4K7Yq7saMZOGADiXLxV36N7ML4/qnxYOzwgW/G/1qimDCyG8mfYYofkpeZoyBlRJ1mscpGProhHUBpJ1JfIzXUilrNNdT9Q3B3jXzhjMOCYoVH6BmKzp8O7iiM2LNuHC840mQFUEZKI7OhjpWfJVntZMNdK+9QYBugZR/xDtgqgUGRbAT+mhrkOX9ywHEh4CSW7ObmMTzu 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 Mon, Nov 11, 2024 at 07:12:35AM -0700, Jens Axboe wrote: > On 11/11/24 2:15 AM, Kirill A. Shutemov wrote: > >> @@ -2706,8 +2712,16 @@ ssize_t filemap_read(struct kiocb *iocb, struct iov_iter *iter, > >> } > >> } > >> put_folios: > >> - for (i = 0; i < folio_batch_count(&fbatch); i++) > >> - folio_put(fbatch.folios[i]); > >> + for (i = 0; i < folio_batch_count(&fbatch); i++) { > >> + struct folio *folio = fbatch.folios[i]; > >> + > >> + if (folio_test_uncached(folio)) { > >> + folio_lock(folio); > >> + invalidate_complete_folio2(mapping, folio, 0); > >> + folio_unlock(folio); > > > > I am not sure it is safe. What happens if it races with page fault? > > > > The only current caller of invalidate_complete_folio2() unmaps the folio > > explicitly before calling it. And folio lock prevents re-faulting. > > > > I think we need to give up PG_uncached if we see folio_mapped(). And maybe > > also mark the page accessed. > > Ok thanks, let me take a look at that and create a test case that > exercises that explicitly. It might be worth generalizing it to clearing PG_uncached for any page cache lookups that don't come from RWF_UNCACHED. -- Kiryl Shutsemau / Kirill A. Shutemov