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 97A37CD37A7 for ; Fri, 15 Sep 2023 19:46:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 112746B03DC; Fri, 15 Sep 2023 15:46:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 09B936B03E0; Fri, 15 Sep 2023 15:46:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA81A6B03E2; Fri, 15 Sep 2023 15:46:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D67266B03DC for ; Fri, 15 Sep 2023 15:46:21 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A3879160717 for ; Fri, 15 Sep 2023 19:46:21 +0000 (UTC) X-FDA: 81239863362.05.8415E64 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf05.hostedemail.com (Postfix) with ESMTP id EDC7E100016 for ; Fri, 15 Sep 2023 19:46:19 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=g6HHLtGA; dmarc=none; spf=none (imf05.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=1694807180; 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=Y/fSdW0K1l1qEwxoAkr3ut7R4kvgq+96xhgOzZowLQE=; b=cnPGMohRAX+fs9QgplqV3mOEZJdQAiUZ8erOZ34Ol8BVTZESQCLhLVXbXETGTkThF1Xu/4 igI6eRnj/BOTxf+6bJf5IY40/1+ClYDbBrvVIiMKFVpPZbpFyg9RcicSCPqnWTJAWyGoFS qFm7V6h+v7gdPE7rcG+7TD9EtuAcOYc= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=g6HHLtGA; dmarc=none; spf=none (imf05.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=1694807180; a=rsa-sha256; cv=none; b=RJaqxeq/weaQhzjEwutuG2G8w0BLFjTPDfts79gCjMQ1CU65PeNbvnF1/J29QraMrlkL54 rOLT8c+r/LQe+NTgQagJmmTIdVQPNBO9+B8KfEU7dy2spWjFyf0/5r5TH5Tiyf6x4Wc1xf 2qgpeSNOw706yzLGFgcS4yxxOQqRO6Q= 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=Y/fSdW0K1l1qEwxoAkr3ut7R4kvgq+96xhgOzZowLQE=; b=g6HHLtGAW2z+LmhyJlCjL9C/gX fIPMB4BW9Wi9o/LMqeRMuUiNz4ujTuj9F6IgYEt+eVO7GRnfJb3O0v0SDVdR+Amn6z2fg1lLtaWOt Ram/r3053lAZ7AOIxW7En+9EurwXX3VkS77aBBWIRbNSutvbDY87xcdW07nK32y7mELbqJe/jyJhg R48gG8ZrGFKp0CdoPzW/dHbrETbFJ7FNJkhj5G2i7Pgwhw4OejbWbzuPSJMeLM99+nctdlCM2CDPu 27A22qTSq2j96CT9eqIz4w3JnX8TU7JzWN2LiouX1jD4OC5wphRf5FDdpQAan5qrjPFFMCO4T1Yey ZQ9SnUKw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qhElW-00Bg3F-Kz; Fri, 15 Sep 2023 19:46:10 +0000 Date: Fri, 15 Sep 2023 20:46:10 +0100 From: Matthew Wilcox To: Pankaj Raghav Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, p.raghav@samsung.com, david@fromorbit.com, da.gomez@samsung.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, djwong@kernel.org, linux-mm@kvack.org, chandan.babu@oracle.com, mcgrof@kernel.org, gost.dev@samsung.com Subject: Re: [RFC 06/23] mm: call xas_set_order() in replace_page_cache_folio() Message-ID: References: <20230915183848.1018717-1-kernel@pankajraghav.com> <20230915183848.1018717-7-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230915183848.1018717-7-kernel@pankajraghav.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: EDC7E100016 X-Stat-Signature: uxbdukhnxzu54kb3pbgtxtikqua4stde X-Rspam-User: X-HE-Tag: 1694807179-379859 X-HE-Meta: U2FsdGVkX198EGsxmHT0zDMoEKduyZ9i/DmpOWFMTSboVpdPiyYLcfPe8L4NmadBRfX7PgwXF+K7ZD2Y01us7olNwHFS2JvqzeBssVauS3BnIV9iUBLvS9jLq0yzKQaztLqClWY1qPctI6WL5Oa5egowQNtq3m7M/JGMXhv2tn1043UdkoyC51ahqqCyGM+YhIajQirgs6kLuYpsjwlyTOACCCP3f0Fn70MX848HX4Mjv+2Ra31ugO0CvFAsXSDvpZI5IwoCrNwDZZfMNheHzHnkHMk3qRwhLER1X4WeIcJIPYC/p47Ebm1h4KlPvQOJRJVRndcUixrOvG0adPLg09AXBbzxRk7P594Y1FcAVxRsywbrqVMgRgPOtokiNR5cTx7SKJsUKq1CvDpLFlWLHixfXMsAX7DuLLR8giMmqgmRr1vr4O96RreRFwfYkDAGDWGtHcCYFJzFYMGvIqWuGjrNy1MsNOTX61ng1eQz5Mu+S4Vz5XRmYQ0E5quHC4OababWPCSbJ0GQNR4ZT3D+SWR40ERoFAPxTWWmcVXhqaEjOVnaPjfWjTZAJQdlK36WQR5TnQRmEPh1mom8AGclzaApgUNFKxpVK1MfLvKm2Pq7EiIOhGyzFfLP4tkP21nV/BDjdG9eQUmdqkvqsgSYbVR7hHEzrmPvX0cCKONkcptWoViR2QcEGte1zO8q5hANSoLz7XX13eDR6tqnsBucZYrcGlPNUASJu5l66m06Y2G2Vgxn0b/b5nRJev2Uxn553DgYeOkA2+2W+2VRc1u/l9jOvOiFKqArX3+PVk9qYKTn+SeKjA3QhI4VzuYWAv4LA0TH2LQOVdDsWmwGTjOvk9crgyccAx9PRTzoL60mXeHpfCmkwRk+SVPEPwEETT6PzPsDN8EZXavSaeS9UbatMXTMLc2Zqr8AyNueqHIVti+vUrPoYGQ3JXSY0cwgNe49klSS9AaTi29HQ/4reS6 90rVphia I/OU8+lqZoFsEOxJF1PW7X29aKw11FdgQKq0CyaGVi+Gsq3KVLvltg+xFdUdLo7Fh6AndiWh8y5C1XnTcoz1Mfy/PXr6+t7xSMU/00z8DQnuxk80RS4qVcckML7EHkERoX9PEkKMyMMa36I1BgTT1dKZduiq+35gvzIqHpZ9JrsdVyydeQgXnDswaigyiZTZ0ZpIQyaj83a8HDj/IEbEatHw9O8APQej8rcAZpIk6sjzUWjjA58qc8SSx1A== 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 Fri, Sep 15, 2023 at 08:38:31PM +0200, Pankaj Raghav wrote: > From: Luis Chamberlain > > Call xas_set_order() in replace_page_cache_folio() for non hugetlb > pages. This function definitely should work without this patch. What goes wrong? > Signed-off-by: Luis Chamberlain > --- > mm/filemap.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/mm/filemap.c b/mm/filemap.c > index 4dee24b5b61c..33de71bfa953 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -815,12 +815,14 @@ EXPORT_SYMBOL(file_write_and_wait_range); > void replace_page_cache_folio(struct folio *old, struct folio *new) > { > struct address_space *mapping = old->mapping; > + unsigned int min_order = mapping_min_folio_order(mapping); > void (*free_folio)(struct folio *) = mapping->a_ops->free_folio; > pgoff_t offset = old->index; > XA_STATE(xas, &mapping->i_pages, offset); > > VM_BUG_ON_FOLIO(!folio_test_locked(old), old); > VM_BUG_ON_FOLIO(!folio_test_locked(new), new); > + VM_BUG_ON_FOLIO(folio_order(new) != folio_order(old), new); > VM_BUG_ON_FOLIO(new->mapping, new); > > folio_get(new); > @@ -829,6 +831,11 @@ void replace_page_cache_folio(struct folio *old, struct folio *new) > > mem_cgroup_migrate(old, new); > > + if (!folio_test_hugetlb(new)) { > + VM_BUG_ON_FOLIO(folio_order(new) < min_order, new); > + xas_set_order(&xas, offset, folio_order(new)); > + } > + > xas_lock_irq(&xas); > xas_store(&xas, new); > > -- > 2.40.1 >