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 38409CD11DF for ; Tue, 26 Mar 2024 21:05:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C0BD66B009A; Tue, 26 Mar 2024 17:05:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BBBE26B009B; Tue, 26 Mar 2024 17:05:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A83C46B009C; Tue, 26 Mar 2024 17:05:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 93D586B009A for ; Tue, 26 Mar 2024 17:05:37 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6420440508 for ; Tue, 26 Mar 2024 21:05:37 +0000 (UTC) X-FDA: 81940421514.16.2D4F24A Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id A53CD1C0002 for ; Tue, 26 Mar 2024 21:05:35 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="vcWq09x/"; dmarc=none; spf=pass (imf21.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711487135; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dnudVfWQxzTlAFAoQoP2heMf6VGlxU+wN2j0E6812eA=; b=BtujY/lR9pYimgyT143NHFYhD0SynpqdgXlFWq2ByNt8gPpiyh2ynd5ZfZ1ONMWV7UhwlT P5WNf5GFekmwHAIsV9at2mr6iZU1Q0L+x9oE+agCdnHCLKy0a50hWblsTm6F6a15v8MIl4 eL0X1JbOw9niBRtbsAo5gq3Tw5IVDaQ= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="vcWq09x/"; dmarc=none; spf=pass (imf21.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711487135; a=rsa-sha256; cv=none; b=pQZGchhODkO6a2mJ6dqqMUX/NJwm1ltiG9Y3XcgpznIebzgUdzQMUAjMNTpWnTzUevQGW5 VuMMN5DBm472XrlFDbaSVWH5QUGTcAu1JNSEXpzu56g0dEVZHAeUw3KRuGgk7x1O3zpq+b SxvricMtdqTfkacPCR2Jc+EphGnEDF0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D2AFD612D8; Tue, 26 Mar 2024 21:05:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54545C433C7; Tue, 26 Mar 2024 21:05:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1711487134; bh=jYAeRqI/a9Wl9HNgHsa8qq4ThtqyFYAJMlxgrSsJjU4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=vcWq09x/OCqEpGMMd/b85oYWK2rDTnBqZ4ffVYAQjNY8WOHpXqkUbc55i1pKvpkA2 e+pIkYKDcOfnNFhZZkoO6i3pb3tefI9oOJ3vwI7iOutQ4JJwFuuoEGnyYp5nXIDrae lTuMUZ2xEvD//rEGfGB0xo/MgqL78Ksld94KOAZU= Date: Tue, 26 Mar 2024 14:05:33 -0700 From: Andrew Morton To: Soma Nakata Cc: linux-mm@kvack.org, "Matthew Wilcox (Oracle)" , 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: <20240326140533.a0d0041371e21540dd934722@linux-foundation.org> In-Reply-To: <20240322210455.3738-1-soma.nakata01@gmail.com> References: <20240322210455.3738-1-soma.nakata01@gmail.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: hpdq6adsb58pb9khmpquejsspmon65r7 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: A53CD1C0002 X-HE-Tag: 1711487135-679891 X-HE-Meta: U2FsdGVkX19LTOT5iM8091kdnvA7ZQyokF4jRp+sfkiqvHZJEHj0K3RBb6vQRPMKRNdX9Y7HOZiGy8Q8VOFYroda/HFjVonoVRNFJufHV6yu1MaySF8bcWJv0EWvndOwgbDhWAMrZ38HyA2Kd63k/2LgxC7oKWhpA8ztl88uHec4+WG8357S8jyTolC9wiXgX9odk/SWl2d0xKi7mQ7p/fIDP3xNLuut6h77PL1aCca224q9eJVL6Fjc167cHaLEMEWunkiFlz1WGSb5jyuMOFF+wLGeYeH1zbr1A6umJ1aRI4GPLs8VlnLP5N0ahibQK5Uvw4Sq8F4u1+7hcQxcCwyzp+4V6dK7G+3VZZm9XpxInngk1bbNkcE3zw1EeC8T7c6T/aidlAT7KAVfNhOAn9EXs7uauNVLl0wLX97RRngGzlzbLSczXtgXmw5xCWpzJVXxidbL+TdLEjG20Pk5UK3cn52orC/O8ibRzYtt35LU8gsMUaIJ+ZiQEJwSJec+QhZiIUo0TVKQw34KsGpZP9JVqq5R8sm16hZOz40o25qdKPVxHzRWq6xU7P2ht4OchIgRmS5sDB7rVqLBAcmsAfie2ZtKaxg6nqioC3rP8UZH7uG/ycVNZ1676+DSRbnTHcDLEfOvXcvXGh2APxYxU/49h2KLms6ry73bKUBMgvRK/Gvv9bNf8h49XkyEEyLL843NsxBTkdLAt1HoUGbOVsOe/976y1cRSz+iGnxVjiUS8OnhR3fcqSidInbEjQ9BuE2gdpHrBxbfKthbnWbCY6DsM0pCUsuFd72pJ3j1zNKAmdHBWoRaY5KwmojqpMWUrnFw8ChDOQWX7nMM3NF2PHehD4i8EhwpevRex0GRG8MHnlfFjRPc3zXJG4tHoG6PU0Sc1p3RgHZrTbY6v0YDVzNI/vxqJ9VO6jyYcnU6f5f0HZGz/rtKq521iyNzGOx1tFS1hPNT8wnr6VaClSq rxfrnTZc Pp6t6saZ4VNn8T22P2MwFhgY7+ANfpDDgQAo82ohDLRPQIQ91Xng/r396gSWb8UmpmIbQkmeB3CARHm3bn3U8kzl8bTkgxECfz9+u+qge1bdKmEZx+15mDI0f9g4SX367NG1fJVi32xox/0Yq9nggcRVq80yppjfNjzaMwZzsxvco5IQga4YrFTFo5YuyvFrvYKn58V6bJIlMz6dDXbV6U5ixzVMq5J7T1h8oNecJR4FZXgEf79zIrkQOd/D7qrHnE5LqWH/bBG1itQDI3tSDKtIrW30oMSWbK9X6UFJdzGW5E+H353gNqCbf/LJb4w9vzRi+TYM4HCp9BxNk7AGrIkslehLBspi2A/n769X2CSpwJR64n2Q4WG7SI5R33MiBvGrp7qwV805CRVI= 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, 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?