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 8AD34C6FD1D for ; Mon, 20 Mar 2023 05:23:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C467D900003; Mon, 20 Mar 2023 01:23:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BF671900002; Mon, 20 Mar 2023 01:23:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ABE17900003; Mon, 20 Mar 2023 01:23:42 -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 9A3FF900002 for ; Mon, 20 Mar 2023 01:23:42 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 561A31205EE for ; Mon, 20 Mar 2023 05:23:42 +0000 (UTC) X-FDA: 80588134284.03.AD70F79 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf28.hostedemail.com (Postfix) with ESMTP id 8A594C0007 for ; Mon, 20 Mar 2023 05:23:40 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=p9Y2XtE4; spf=pass (imf28.hostedemail.com: domain of hughd@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679289820; 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=AAg/di4awCbENQSDHCw3uwPaVCnYn/JqQu0b5lYNlhA=; b=uiv5lQwpDvqCdVJiao4XUOOOZAP5er7Ta7VPi1UBcRFgcSD8xxdZle6fV1KHGSHYyQp9uy xxxf7V1BAkDCi9WFXe3auylM51ovxBIk+GexgzSNE1safidal2djQMubWDpFu/n1tqZ5mp r0Ciavz4YeFESxUHTHs/lEb0r1r23us= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=p9Y2XtE4; spf=pass (imf28.hostedemail.com: domain of hughd@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679289820; a=rsa-sha256; cv=none; b=u+yIBDPkeTKqyzDdlwrUEd1vx6+7Emq1vVlNIGRLF9lmZezT2KAl4S5ZQtJAlTCir1AZ6J k0ZZzxP/KzbR2Ssv99I/QsjJ21PidFhQM5gFJFXTQ2pfPdZA/VCZxcmw3K71hlYZCgLYf6 88YT/n5RdFGahrkkJg7vfa/sUCb1WWQ= Received: by mail-qt1-f178.google.com with SMTP id ay22so508464qtb.2 for ; Sun, 19 Mar 2023 22:23:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679289819; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=AAg/di4awCbENQSDHCw3uwPaVCnYn/JqQu0b5lYNlhA=; b=p9Y2XtE4tcxGUhH+2fluWD0s4npx8Ylcmiofp0dtrqwoGanjdCTVnqg/qMO9B2Eqee kJXhUMep3Gz11MElDyCICekSrou5OCXn0KcsjLzta/7S4NXBQ0kAPCCVyubft88a3Elh nqu9KKJuvvc4mgDntldKav+//BdLjpY+W1y9F+/oC6RLQag0ajP/d8mSihCI0LQHTscN iw4DDucZAA8uSQduK5FuwKdRjql9QLvxP/TP1GhC2AgZJo7kkKfwT7aIEbKJ45sCYU3I WQfFiYo6WhPxnQFuL1eZb84t4CXllzGE4KX05JrDvIh2ChxlBcEN4ACNkRgNjlZBwVgk gQ5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679289819; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AAg/di4awCbENQSDHCw3uwPaVCnYn/JqQu0b5lYNlhA=; b=YK9TCYtJtWqV3oFWfvEyfGO98/WbMmPMeSnzZVaCI1wlLuIH5SVRaQSpbuKBXhtPl/ 9CdhJbYDq5oEear7e9BOYfovfCJQT38DdSG+6pTXdlJwHyKfi9wRgDyehCCRvyiGPG+9 u0GHIahy5LPvH5ZrSA3mnkovVH8T9eamFE6GtjtBrkqhse1QwGmNe/urKHeTPYe+vTtx zd5VyUHCmOXIrXDZtxGEaKCqKgomkCdRllQDcfdQ3j9pnVqxcsZa+3PgCKOGsAJW/wnE N9QXHTSlTU/jQVDjG6OC283pyzK0x7ma4DusvXpw+OqO+2yTP+qs5DZiQvyigkeLg2Hq NU0Q== X-Gm-Message-State: AO0yUKV6E2j4TPObS2V5vMtZ6smC157xfXzADnSDD56p8gE48EMvsY1h MnRbQSM+wbScwhPIqgVPxs2Q5A== X-Google-Smtp-Source: AK7set+IHAVwOVPGzgDiA1M/gc/Y2e4sY27FJ8NVOQKNJGtuM2ssre+J8mfq1AKrGS8jlMrrQZHYtw== X-Received: by 2002:ac8:7dc2:0:b0:3b8:4076:1de0 with SMTP id c2-20020ac87dc2000000b003b840761de0mr25174802qte.30.1679289819622; Sun, 19 Mar 2023 22:23:39 -0700 (PDT) Received: from ripple.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id r19-20020ac85213000000b003b643951117sm6038919qtn.38.2023.03.19.22.23.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Mar 2023 22:23:39 -0700 (PDT) Date: Sun, 19 Mar 2023 22:23:36 -0700 (PDT) From: Hugh Dickins X-X-Sender: hugh@ripple.attlocal.net To: Christoph Hellwig cc: Andrew Morton , Matthew Wilcox , Hugh Dickins , linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, cluster-devel@redhat.com, linux-mm@kvack.org, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-nilfs@vger.kernel.org Subject: Re: [PATCH 5/7] shmem: open code the page cache lookup in shmem_get_folio_gfp In-Reply-To: <20230307143410.28031-6-hch@lst.de> Message-ID: References: <20230307143410.28031-1-hch@lst.de> <20230307143410.28031-6-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 8A594C0007 X-Stat-Signature: mtgnr55xetooztz1o7xbrx8ych6gi7gz X-HE-Tag: 1679289820-731322 X-HE-Meta: U2FsdGVkX1/RTqHKvVfHWbLEWQf3hr35BvKJ1uOh3OKkSjKbOlf51wltOSL/nW7kJBAzXt2jlbt/G2r5dAiZwcpe/alwNSfM0Q/Qc3BOdf4Nl0xOv1UcWamjG9gAEVQpjIm6kNJAzJpD+MFir4ZoW53OdHnGweZi12iQrfSv0O145NMKOb2R34riQ5BZNeKBbcTYWi5GvT5t/cC8cslgTX9RRXWhViOVmnTlluBwZHGI3ryMa8Qm4Zn0xKJhynJYKg+tZ0JdCgfm1dW5Z40ze0JiZ/Pu9wttc8qhJoucQeMqD2+O950N2sYFQ/QSlj+GqpiywF4x/pS7aF9aOk3zzAPL2Fi7VxKyudn5waS3h7ks82CSJoWj2pTEqGhvmTbG9YmZ8r1k4qFHunRJ0RK6L2ni3Hq03If+JqttIzjh4v5INP5jIDnt4r0Cayl06kHpNM69wZqC15+Pbcz5WUnCXfAHteNkSOAnVx0LnLScmXU2ZiZNROjemaGyRhlacQfypbTZ2mEUQH7OwaDqMQN1pSGRqaTG7hTCrfwn5Uk5Wl+omjjgfyqXHTTWTAme2Hs6wco35j3iFfxH3+S2OHAAosqEASi9QIgvZNgYnTHuQGuhJHBOIPM4S5Ei7tUiq3PXPZprYakdhpcWiZI85DpRHXBkj7wBi9WDxyhPCGWoQtp4b/iDLSnTKoywtHM2HUIOcj57WcDiDIFhDUjyTd7UhlRd4P55pB+h0Vy2MajVYuMPWoIWD/NtN18MU0XIx6wZ1ZK8yTw9fWGVDU/90AitXa+JqrA6v7Q7/rLiHuhohuEWoj24JNE4tJ0W6qhs6qBO0X0SzYkPsW4apNUZznTa5nwol3dm99HXnXjFwTmKHImVw4ppgpOyS8hThnv3c2B4XIz/m4jtQt/X/4CE7kUc9CnZkrgJTKM9mNdxUeL79nbZK74D8/KF3kVSd/iYJuo2ipyj2M7OXg2U5eK2cke +YWJtfwj SCxM5V/sEHUJfaoMSG9Pm0GtfSq9e2sl1uqK1HTP59rujt9aiH8QG0RANkzeXp0QqDjzJSyDY6Y6ftRHyo3Uk7CS1vqQBUBOCySdc1axhh/j6DwYSo7bH9ETOtztCmWi1NK3ib9kPW6d2mY7B64GBbLPUg05N+qgHmv6CXI1g8m+1rMFHyFLcqfsYNYHDHs0V1FT5eqb4bhumuSqvZ+/c+R3XS2HB7h1cluc3BnNVWl0R2/lN8UoYRp34zIrXle/sJnIUTBKYkKYTzluOWRTDxaIoDq0XYgo0A/RE7uZC4IVliKF2ewD4mKoEQYkbcnULeGnjHgmW8drmq2Owa25p7D6qJMYSGftZiaKqAa8BNKtr57NkG9UCoLYNIFosFCQ2cCPZE1QtA5RghQZgIll9YKcAYDJBCJKC6dZNiQLWl3wQFYN7i/ZHdwkRkMnsiUF2c2E/65UsW8HrFes= 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: On Tue, 7 Mar 2023, Christoph Hellwig wrote: > Use the very low level filemap_get_entry helper to look up the > entry in the xarray, and then: > > - don't bother locking the folio if only doing a userfault notification > - open code locking the page and checking for truncation in a related > code block > > This will allow to eventually remove the FGP_ENTRY flag. > > Signed-off-by: Christoph Hellwig Acked-by: Hugh Dickins but Andrew, please fold in this small improvement to its comment: [PATCH] shmem: open code the page cache lookup in shmem_get_folio_gfp fix Adjust the new comment line: shmem folio may have been swapped out. Signed-off-by: Hugh Dickins --- mm/shmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1905,7 +1905,7 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index, if (folio) { folio_lock(folio); - /* Has the page been truncated? */ + /* Has the folio been truncated or swapped out? */ if (unlikely(folio->mapping != mapping)) { folio_unlock(folio); folio_put(folio);