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 0F7D2CD11DF for ; Tue, 26 Mar 2024 22:53:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7CD856B007B; Tue, 26 Mar 2024 18:53:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 77D606B0085; Tue, 26 Mar 2024 18:53:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 644F26B0087; Tue, 26 Mar 2024 18:53:07 -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 51A426B007B for ; Tue, 26 Mar 2024 18:53:07 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1A0D41406E2 for ; Tue, 26 Mar 2024 22:53:07 +0000 (UTC) X-FDA: 81940692414.28.2AF146A Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by imf08.hostedemail.com (Postfix) with ESMTP id 4102E16000C for ; Tue, 26 Mar 2024 22:53:04 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TqDAHovL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of soma.nakata01@gmail.com designates 209.85.208.177 as permitted sender) smtp.mailfrom=soma.nakata01@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711493585; 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=OGgALYVn3j6sEFQYAH/+oIf0Xfv3DpByVPwYwGg56do=; b=wsUZdre2fL69yWH4FkgHxhptlYPNazdDovjs86OOtMZkB7hVsutOuB2RX8ZUflLB496DAA 8BZ6xbUif+MfhhX0omAEt4PV0yZuk8qWEfS/qk8cx7kN7BZ5hf3osNLAvceqYaVE5s65n3 LzNk7O4Po387PMzCbsJz1Or2ynzeXIk= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TqDAHovL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of soma.nakata01@gmail.com designates 209.85.208.177 as permitted sender) smtp.mailfrom=soma.nakata01@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711493585; a=rsa-sha256; cv=none; b=Dr12E8OhUUwqSXS2ZS3Mz23sgXhRRYhpUUw8S35MIUyQv+xxq7Bhh/c7jQ8l5nQ4aGjx0A ZoxAqSeiy2m2vXEYVnqU6+/NBi9w4JGJL+o+wKRUuk4btiu7WGnmddEwgnue34z2sCY+yP WVblQfgmGX3r3YZ6GLXsfc4c1wihm8c= Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2d485886545so106573021fa.2 for ; Tue, 26 Mar 2024 15:53:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711493583; x=1712098383; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=OGgALYVn3j6sEFQYAH/+oIf0Xfv3DpByVPwYwGg56do=; b=TqDAHovLaV+bhRAHmKYBDtwvoPZ/ghativxx8QYdT0G0+USmY4b3qj0cvijeVJYNuH GGvkueHm32BhIvSz5OUZ0SLIzzuIlU4XwWWaxGhLMqg6mIDeE6NlUVRKgFpNc0iqPKHh LxDctU5elzJ7NLztyOgz2+viIxPIk5uymkHePiDfD68ATZssVwGZIMDfGurcqMRTPKC7 7ddDJdNce5SnBxTnav4gecH8aCL1qm0DK7lkAE/eUdbr7HppXKHNNub6VpBPcSVj2LF+ XP+61QJeZcSeLqmLsiH0v+hFVu5XI7/q7DDa7odCudyyTELJJBrmDjMaHhe9ji7cvjqx Ak6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711493583; x=1712098383; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OGgALYVn3j6sEFQYAH/+oIf0Xfv3DpByVPwYwGg56do=; b=g6hBkUjxa3w40LmamAbRF9mAgxzmQJcLIFqgKRwvy8qeocS04KYpChP8V1sMKmLhkV 9qXkVKKKWHm0K2qFqrp6t6q+gKXgRuSfiwhqzWF6pviSwgOH6Ejgf32QmwFlDIM0QvUT iF5f6JpIbB1DZpNVMoEK04GzYo9RaBznOEJKJrmO+qrJ1KIu5X2lrXQeY5t5QUK7saGE osVbLa6QEZV2psrgb2lf64uMsl4nx5iw/YO870lYvGk23V1UodrF1VRHoilvsvdoT8z7 uPag72JsNzVzd7GgwF0/JCbqSln9y7jCQNLiShq4k7eG7jduXbBW1Bl1/IGvePdesgue Tm/g== X-Gm-Message-State: AOJu0YwUkK71uMUGfc7OOIFRiF1qDHr7ysrzXsPoFGML2nqewA61zfuz +g2Vq0WspVyeHrQnViCw3/TGPv+RMhkNpCBuKKOpTr+VWeGJaOfyn8hUuUiKUXJqIreEuKd2FiH dHkNEtTpkmno1DHqTYjI4dwhaFSU= X-Google-Smtp-Source: AGHT+IEolqJMeAANTemImf2DuaNJdNaLuCTNmbxSFTah/htK+cycypMcUiMVK4vogxZfUZcHT97fZM4T0r9XQUXO0YU= X-Received: by 2002:a2e:781a:0:b0:2d4:714b:4c5d with SMTP id t26-20020a2e781a000000b002d4714b4c5dmr816730ljc.44.1711493582960; Tue, 26 Mar 2024 15:53:02 -0700 (PDT) MIME-Version: 1.0 References: <20240322210455.3738-1-soma.nakata01@gmail.com> <20240326140533.a0d0041371e21540dd934722@linux-foundation.org> In-Reply-To: <20240326140533.a0d0041371e21540dd934722@linux-foundation.org> From: Soma Date: Wed, 27 Mar 2024 07:52:51 +0900 Message-ID: Subject: Re: [PATCH] mm/filemap: set folio->mapping to NULL before xas_store() To: Andrew Morton Cc: linux-mm@kvack.org, "Matthew Wilcox (Oracle)" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4102E16000C X-Stat-Signature: ztxrxknws7t6cw3txowucw779wa7mafx X-Rspam-User: X-HE-Tag: 1711493584-812839 X-HE-Meta: U2FsdGVkX1/q2AQtGR5PAl0yAtzxGwuLYa2uTMzqLfulVECbISTMiYIsQSiVHJ2MdsL0N4qkAdTARS2azvXHtbCxGBbgEcI3d9y7xq/GDi1PntTl70XHveAoJ2hOxJ1NPM0fwoCYJJCbtnhJ+bxJSUSVQ3vn9XyPGrubDtbcfdUD0e4qJtGVpU645Eorndvxvgntvh762Yz2F0gp+I6dCSLBr5qqRBYOrkcBOHRdDbkmEZpBsdM83BJij7HtioDm147xf5stFqaCFPZOJH+tKl9ObJOLwpVcW5nCJOLkpgQdEGnM01KD58E/rjzM1lZ26IJuXkG3aZoRcUKvpUIJYShvWc7mlqLlKQbURyn8ZbE44CL/Gdriiv0ipTPCBp1gngkJf7TxpLXdUTQKPZg3Erh+YjsEUhowqPhxCauPLE56tZN3zuJrHPMGS353sRWEtkCVs43zsIrKmUR3zjzGuigJT6XA2FQsO3ywb3bfTKjIuW7DhpT/UTtGPRExpaG9Q8IlEawpmfB57LS8hF/xcv19UjoOKdLVlwZcLgZQQi0K8jhKLpWFmXOhsl6MCkUVb35lRkahjz4DlnM2YERIPSH2c0yb4TYzs8ydxCqXnnUFjh8dzWZ7vtTXf0IWm+TzXx4CSVDd5RY8Ru29XrzMlXLz8Sc9JTlQdjznPsy07r9UP7FQWb43VNdvjI/B0q8WmH6LD48ag8+bfy88Ut6ptz+RfaemA8crGWqAXjMJXLyC3xIownTc+TAO2vXDhcvsOqCx/pfpdWCpMBnY7h1xiFBmbPbfbRswiwKdVvgG+ZrSWa6Y0Jlzdf32pdQ55AV6ANPdChhzn9ZiYQ4VC5QVgNva3Z/ksvzSKUQZp8zrIC+640ruRPfK74p4fzaPvBnQ1bu3OeGEqYdxMuWN1EdH3e+FwO7syD6j2TcMbFFVbjd5e2/d+mjTNLNqo9nHg+JUu1uYxhUuMwD/1+ewC0v 1Y62QK9Q GNfoubywk4JhHx4ZgWoBIUe/UbpwSVo14ckG3q2sJQvmlVR5qFYijIfhyQqYLHLl7JieoaKTrZM/9qKAuq+mRtiShlAvymkJykP10U0pxLdKIUZFSwCS9wg8s80OFsWL+RVQPuONG8CdMbep+mKrwIB30YAM0X+/W+3E8/7RxM1qYYephlS5KL9NMzLN5XC6GrUZeyjYS++owtt9FwcOaYytiTAgLuDeAUQpuZQH5Py89gbKypflcFiYgu+BrGcE7Ixq0PfhP+lEImDvJJ/sTMOw0X6JV69TPicITcG2opybNBHZ5PxXsF3A3Jl1gBe13jw6dX+t++nOK+l5NPeJTq7bxFdfcM9QQuAthj+j42Im1By1PXGlt3y3MPSi1pBuGcgHVAOA+v/4DcgNNsfYdZpEuW8/5gRox7hnvDpbwZzwB4EfxIXwaXM50YbwFqONlpCzG65NmE1CnlktvGqjwP8zkhwud7hlLKMAovBwWr4he7NhRe0XJjncfBOgz2OpmiZo5 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 Wed, Mar 27, 2024 at 6:05=E2=80=AFAM 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_spac= e *mapping, > > > > VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); > > > > + folio->mapping =3D NULL; > > + /* Leave page->index set: truncation lookup relies upon it */ > > + > > xas_store(&xas, shadow); > > xas_init_marks(&xas); > > > > - folio->mapping =3D NULL; > > - /* Leave page->index set: truncation lookup relies upon it */ > > mapping->nrpages -=3D 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? Yes, the reader locks the folio. Only __filemap_remove_folio() calls page_cache_delete(), and it says the caller has to lock the folio or make sure that usage is safe. In the latter case, this patch improves efficiency a little bit. However, I found that there is not any latter case actually, so discard it or apply, also to make the order of operations in page_cache_delete() and page_cache_delete_batch() the same for a cleanup. Thanks,