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 19C3BC54E67 for ; Tue, 26 Mar 2024 22:50:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 707766B0085; Tue, 26 Mar 2024 18:50:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B76C6B0089; Tue, 26 Mar 2024 18:50:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 57F2C6B0092; Tue, 26 Mar 2024 18:50:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 448196B0085 for ; Tue, 26 Mar 2024 18:50:58 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 121641C032E for ; Tue, 26 Mar 2024 22:50:58 +0000 (UTC) X-FDA: 81940686996.08.9BE89CA Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf07.hostedemail.com (Postfix) with ESMTP id BFA3C40010 for ; Tue, 26 Mar 2024 22:50:55 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=C+6j3WRo; dmarc=none; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711493456; 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=1BmDLCjcFU+KK+3miiP8pR8s3wJrwUpZyPZ3mSRVfH8=; b=PN9zCpiJFCm/6krS2aRQ7iKvF5S8SV9bfk1hoB8PraYQs+p50Fxaeb+gWGFkRjB5/HuIlp zp1nK3zKgjSrEwTLUnpPcp6jFDKLSad/xKG7cuXqmULjhxq0Nft3EI4n+3c1J9IDqw4xWQ HF0UO+b11dKL481B5Wquj461cPy/ofA= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=C+6j3WRo; dmarc=none; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711493456; a=rsa-sha256; cv=none; b=hUzPBbAPO82v1JQaC1w30AG25HcAuI+nyYbObwDGrIm4OMHDKFqQOUqZGzaCkquDqbT8Xs M8rW9LqXln0uXrFBEeoYC/1W0yqGsR/0YrEK8TKeIYbds461TOySn0eZXtZfEW+wZxTbcN ZMQEt4QIZd0/sm3pKArV82ZP6asHBVI= 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=1BmDLCjcFU+KK+3miiP8pR8s3wJrwUpZyPZ3mSRVfH8=; b=C+6j3WRotzsiFGicvbn5F7y7/r Pn1CSBfv83JhvbhVpJ2yQQJH38fVLklm1Mx3yhOjNVNYYBoJUh/32kdOIoxMIXdRlOGoWNBx4C0oP eOWFJW3sm70s0Bmnp3Zvp1nacEl97t8akUM+nJAQQX0jGDzzksa6xRYSwPq8rA2DuJCzxSm51uoFr jqMeEmaEnTp+kPvdC+4Sc/uk6lCGvOB2AGOVFSkiv6367PYZI6JaRbKgPDKez0mIRMFgb38D6kvjF CFabzsBTz3CtvM0zPSC7VvOw6ep0Lljng5lmT7SnHhuHqrwz+uwsoEMzA/8865GDpCxw2OoWVhc/I 66l7tF8g==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpFd5-00000002STT-0Ja0; Tue, 26 Mar 2024 22:50:51 +0000 Date: Tue, 26 Mar 2024 22:50:50 +0000 From: Matthew Wilcox To: Andrew Morton Cc: Soma Nakata , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/filemap: set folio->mapping to NULL before xas_store() Message-ID: References: <20240322210455.3738-1-soma.nakata01@gmail.com> <20240326140533.a0d0041371e21540dd934722@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240326140533.a0d0041371e21540dd934722@linux-foundation.org> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: BFA3C40010 X-Stat-Signature: 6xrsu686dd6d5bsb6ix7f3osar1icts9 X-HE-Tag: 1711493455-14048 X-HE-Meta: U2FsdGVkX1+gxM7ym9VUzByNx/MKyTsDGd6cWq3MbhfPIg8RhLUjKCpcFQJooa0OlAZgn1LbExGeZKKjFCjrl0clhcffsD5DVF+e31IFfPPgpzThzFBOiA0wSnMrzdprOgQno33pk03TBS/3nbt6MCWv+tcMz+h82amgFKC/pUMLzROrC4mayqMEZCZclxQaexpp+YF66ptElbdEVqpv63Ndl7KbRBnqsQ16qmpBhKpH+pCQ1H3obBHaNYziASm9+mP5S3cbkaHrtJJN2iNoU45Msxu8SQQrW4EgCKuvjafMW6ERBxBrGIOFPCTb3hdnTuYF4fZV5siazCQFNBX6RjauZJwT+NiaSG3+gBLIzNlHqGa0w6nLmawEPC6AAjpHkg7K+E4VE8dwUCSuU5JYX/0vik546OxDBfhNFEu3N523IQHtO3qVyE7c9nJ8XXqlLqXV9B/8u0bAv9FQoi9B6ZhGFWbXeviQ3z6vfaCkqOm7cBdqN/JbtVu/RmfaBoNVlke7N36/mP2nSIZrYpXHB8TpyPEQRHjw0bPEIpRi6Dn6/E1NEiUwIGNg4EVq3/+atYH1OpiG7tmyiijSiN42kKShiFLtxXlCKKr0leZP8aHRQsHM8YAMeJaKFij2bPPkOUkBmjAdIBArjy2psJZvzQNgICeksGcPVOqSFwx5VPyLmE5K0t8MTJXm2QSeFmeN37oQMJBqa/vBvNHunZ98jroEGezdZ9rbKNGbl6q/y/qxff4YOoZfybJWnXjHZjOBzIUM4w5gGQnf4JmXuJG+gjBUFizf0Gzm11do8+pNG7i5WAfZ8KwXHqIiEFope3oROqO378eaqdNqPPz1Z4o4rUOlDbs52w1wSCQyPw6IeT4ni6MWUQg25AY1u2RALqvk9KIh9UQC1AwgkfoGHSfXP0DEz3PpVT3huJWXrHM8sTUsv9iAuyrZKlWKEY0J6kOMdzQuY54yrljQwuBW5S5 LvZAsds4 BxLJ8USv9YbM3UcpjTaFBNmWSS1zJWVuaQg5u2XujTjupJYLyxFxABUjw6oAt7JVu+ggKIALweyFSGTkJ3TFtu+jeeATbMvvtwN5hGx9UaG5IUa9QMH50uBXt1wDcDKpJToXq8jNsR+hjfYrYrxCBtQtND/8dXECfx0oPrx+tFBBdQfUCbI5BApI6Ln448dXVsySD2z2x9puIYvhcQiayoTEh8ApOLspKELxNHG1lo/VEJUVSQfQoC/N2DXN8nBWZDs/nPCj83PFxA4m5G0CNKS7YCQ== 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 Tue, Mar 26, 2024 at 02:05:33PM -0700, Andrew Morton wrote: > On Sat, 23 Mar 2024 06:04:54 +0900 Soma Nakata wrote: > > Functions such as __filemap_get_folio() check the truncation of > > folios based on the mapping field. Therefore setting this field to NULL > > earlier prevents unnecessary operations on already removed folios. > > > > ... > > > > --- a/mm/filemap.c > > +++ b/mm/filemap.c > > @@ -139,11 +139,12 @@ static void page_cache_delete(struct address_space *mapping, > > > > VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); > > > > + folio->mapping = NULL; > > + /* Leave page->index set: truncation lookup relies upon it */ > > + > > xas_store(&xas, shadow); > > xas_init_marks(&xas); > > > > - folio->mapping = NULL; > > - /* Leave page->index set: truncation lookup relies upon it */ > > mapping->nrpages -= nr; > > } > > Seems at least harmless, but I wonder if it can really make any > difference. Don't readers of folio->mapping lock the folio first? I can't think of anywhere that doesn't ... most of the places that check folio->mapping have "goto unlock" as the very next line. I don't think this patch accomplishes anything.