Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp103942rwi; Tue, 18 Oct 2022 14:50:09 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6r/iobnr+YPCb1k8G0T8ioNJvnTP3ZLucNVhHo169Xo6QczmxJ6pxtvU3bzWFOkAahgE1C X-Received: by 2002:a17:907:320b:b0:780:280:7b72 with SMTP id xg11-20020a170907320b00b0078002807b72mr4310006ejb.146.1666129809350; Tue, 18 Oct 2022 14:50:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666129809; cv=none; d=google.com; s=arc-20160816; b=JbV2j9hxAZJ32j3xjw1Vt5DMp5O1kTmt/VH7TxfENmfdixk9hsQ/JyN1HaL4iP9M0f X/9pPwqu2Gsd1w0HSY9PbOLhxm6VbkX3ZOHhut8mYfJozrHfD0D86195tdO1uwrRKo+x 6C98XIrtpvwfNXOOrM7eOZiexJA3KgbEh7CNMUH59Fnf5iCtqubG2ACUNfbnwKdDFDmH zKNVPeCvR5elib8H0viZ7JIjxDtk5wvg3xyhpo4TjKSH1FmRzSoTfOpD+KBrXwsueXTs Y6d143Mbar9GZ9RPNVcZaHkJ5Trrd22A4xIlAQvrJyIUIMbGOEVKWYrLkWLcr98/lfrP BwhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=rdhpXUGCkMu8VcqIxNAyDKuYCRrF5O3PB114YzTZo88=; b=JlQN6fhDNcSbcJdBectZ+tj9cYlwczI0IsUZusbeo+VQrJaiz1REN4g4WoNebnZ38Q CGUyrie71nwHUIz2vwaPLPzsA9Va8+PYrJMZX60whm5jF6TcgxC0kA/ZarUB/rC2n6JY xHX7hMehNDLOFOGrpRsA8GDzsVuvL7k3ADqVQnjTdmtqJfVIGd1Abot9EEJH2T4t3Aj8 TQHgjE1vnPxslI5Cciy82/UcjTAKR3oTP8zkRAcNPb0UQnxvEXa3Vvx+wsr4yxhwEU2I abzum1aSbVXLoF7dfxIY6bfK0PCOBI5TkQryLpUkmi4KeCfh1G2VRzxSXbWzKAmKYd74 MxsA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a21-20020a50ff15000000b00459195ae973si10599440edu.414.2022.10.18.14.49.38; Tue, 18 Oct 2022 14:50:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229915AbiJRVqI (ORCPT + 99 others); Tue, 18 Oct 2022 17:46:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229841AbiJRVps (ORCPT ); Tue, 18 Oct 2022 17:45:48 -0400 Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 15ED067071; Tue, 18 Oct 2022 14:45:47 -0700 (PDT) Received: from dread.disaster.area (pa49-181-106-210.pa.nsw.optusnet.com.au [49.181.106.210]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 3E48911021F6; Wed, 19 Oct 2022 08:45:46 +1100 (AEDT) Received: from dave by dread.disaster.area with local (Exim 4.92.3) (envelope-from ) id 1okuPA-003bsw-Bg; Wed, 19 Oct 2022 08:45:44 +1100 Date: Wed, 19 Oct 2022 08:45:44 +1100 From: Dave Chinner To: "Vishal Moola (Oracle)" Cc: linux-fsdevel@vger.kernel.org, linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-nilfs@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 00/23] Convert to filemap_get_folios_tag() Message-ID: <20221018214544.GI2703033@dread.disaster.area> References: <20220901220138.182896-1-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220901220138.182896-1-vishal.moola@gmail.com> X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.4 cv=VuxAv86n c=1 sm=1 tr=0 ts=634f1e8b a=j6JUzzrSC7wlfFge/rmVbg==:117 a=j6JUzzrSC7wlfFge/rmVbg==:17 a=kj9zAlcOel0A:10 a=Qawa6l4ZSaYA:10 a=7-415B0cAAAA:8 a=A9Ajo3xi_aTsyj5e4eYA:9 a=CjuIK1q_8ugA:10 a=biEYGPWJfzWAr4FL6Ov7:22 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Thu, Sep 01, 2022 at 03:01:15PM -0700, Vishal Moola (Oracle) wrote: > This patch series replaces find_get_pages_range_tag() with > filemap_get_folios_tag(). This also allows the removal of multiple > calls to compound_head() throughout. > It also makes a good chunk of the straightforward conversions to folios, > and takes the opportunity to introduce a function that grabs a folio > from the pagecache. > > F2fs and Ceph have quite alot of work to be done regarding folios, so > for now those patches only have the changes necessary for the removal of > find_get_pages_range_tag(), and only support folios of size 1 (which is > all they use right now anyways). > > I've run xfstests on btrfs, ext4, f2fs, and nilfs2, but more testing may be > beneficial. Well, that answers my question about how filesystems that enable multi-page folios were tested: they weren't. I'd suggest that anyone working on further extending the filemap/folio infrastructure really needs to be testing XFS as a first priority, and then other filesystems as a secondary concern. That's because XFS (via the fs/iomap infrastructure) is one of only 3 filesystems in the kernel (AFS and tmpfs are the others) that interact with the page cache and page cache "pages" solely via folio interfaces. As such they are able to support multi-page folios in the page cache. All of the tested filesystems still use the fixed PAGE_SIZE page interfaces to interact with the page cache, so they don't actually exercise interactions with multi-page folios at all. Hence if you are converting generic infrastructure that looks up pages in the page cache to look up folios in the page cache, the code that processes the returned folios also needs to be updated and validated to ensure that it correctly handles multi-page folios. And the only way you can do that fully at this point in time is via testing XFS or AFS... Cheers, Dave. -- Dave Chinner david@fromorbit.com