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 8DAAFC3DA7F for ; Mon, 5 Aug 2024 13:25:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2606A6B0096; Mon, 5 Aug 2024 09:25:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 210996B009A; Mon, 5 Aug 2024 09:25:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FFD66B009C; Mon, 5 Aug 2024 09:25:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E74106B0096 for ; Mon, 5 Aug 2024 09:25:13 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 73A381C5B40 for ; Mon, 5 Aug 2024 13:25:13 +0000 (UTC) X-FDA: 82418262906.01.9366CA0 Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by imf21.hostedemail.com (Postfix) with ESMTP id 40CCB1C0015 for ; Mon, 5 Aug 2024 13:25:11 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=PuXcxE1d; spf=pass (imf21.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722864251; 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=c+Xw23u08D/qoRPrvrK6+9KGcUXgv/XFJgZyXn7SUuQ=; b=C2ih7sUubaWYi+zjAtYwXHxjBPPeCPAHiJXDG7l/VpH07NFKpV/ijh7d7xO2WBMHvtCR/2 pd3c9NOtbfW2DY0z4HbjyyNPHKAtjNMmP63ARp+k0/xqb2lJaGBxHfG8fqInqtWXMQ8Pvz CZ2qLGvdVrmCDs1F2Wj0lrGdVkwTFrU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722864251; a=rsa-sha256; cv=none; b=8Kk6D87rs/d7fuU6W9wo9VE1eztsJEc5wEgv1jWYD+Zg1opXX7GYwXPQTIvA1FuI346Ud2 b11jZf6BrL5mmfjvdtkayDnBn4GjXf2G3+lah+kH5wBvN67XUh5UTlSxZDgX5+eNnSumdv kSOa1UuV90n13Y/JTJdAhOXwxDjxd1k= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=PuXcxE1d; spf=pass (imf21.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4Wcxxt44PXz9sWy; Mon, 5 Aug 2024 15:25:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1722864306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=c+Xw23u08D/qoRPrvrK6+9KGcUXgv/XFJgZyXn7SUuQ=; b=PuXcxE1dPjN42JkFy2i6KyJEKozsovshl4jgV9XlY5Wpc1H7CMEL9M28kkmAMTimTW3zxn yE/1xXBpOpVmZqxpGjl/udnHQnIMmKkb9JRz6V0tfYnbIsg6KH2IpAmTFRlERKmpselwAP UnWn53EBJZEIm1rJPRDZ+KeDizjWhU5qC7UyqqtY7+yH5BC93IjRJISEF7QeAv4U/ZqNxv bcwFJE+PUEHTpVKPRn36w7NstmW0l4q06NDM5HjNxC8XTnaI7DD+kDJ9RwOOyL0UGi6ZDJ tTWgDhR1UVzTj7nGMVTYBhjKB5IAzRixhQxn+SFzPoY8HrHw3BLKS6hAKf59uw== Date: Mon, 5 Aug 2024 13:24:59 +0000 From: "Pankaj Raghav (Samsung)" To: willy@infradead.org Cc: yang@os.amperecomputing.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, john.g.garry@oracle.com, linux-fsdevel@vger.kernel.org, hare@suse.de, p.raghav@samsung.com, mcgrof@kernel.org, gost.dev@samsung.com, cl@os.amperecomputing.com, linux-xfs@vger.kernel.org, ryan.roberts@arm.com, hch@lst.de, Zi Yan , david@fromorbit.com, chandan.babu@oracle.com, djwong@kernel.org, brauner@kernel.org, akpm@linux-foundation.org Subject: Re: [PATCH v11 00/10] enable bs > ps in XFS Message-ID: <20240805132459.ndyofuoyyojqctgt@quentin> References: <20240726115956.643538-1-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240726115956.643538-1-kernel@pankajraghav.com> X-Rspamd-Queue-Id: 40CCB1C0015 X-Stat-Signature: uscjebzaadhsnk8i47htrzq8wsfz5oxk X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1722864310-925403 X-HE-Meta: U2FsdGVkX19f2C/Tt7vScpbOuUGPIuEi2bdqIV9wefBdKsNHDAG4XdRQV1hlCxD42ZBw5TlSfANLrfEU2KMGOoytLHgUnw1TzjVs2pxF/5yPVMDn0vlhpZVS92efaepipTdw21TI2OfPQFihW4E8Z4iBzWwu9n7Cb+8aJx2keb0POEC5vSrkg1NmkArlqmwZq3e9q9m52FdACin62jUn4lJhnZkSGz29Sfxakj+M4ZCHPB9tA+/4HRqNyAOfSrF06dpc/v4LH2pu09srMHBR/lBRwrXcu3WRTcdZtFzXKZVsgC7FmI34QUx6ymDuWls7tpKTqUtdx/9N7eGLmsNmBxhMF+h3VhOPCEpSxhUmoXSVLKAL4gV/5i6Js39Qi4D5alxNRWj+1VZpitOX3+A1HGMR02KWpTkL+lyhtHXDSTVIeJdUwbHn5gCdaUWyTVyEBbo31MYwI1pnuWfFw2sL7+O5zMksHDsAeQnQX7Pq5BIp72SfS4/jnGYhkvgXYm04RK9Prf2zIf3ZchC+WQ3zeEq8lGnZp1ZkSGLYjn3zgrNUG/12c4fWtQC+5RIrByMtzQLrOK5Z5GTIQz1SNZpgnBtEJxOzr1QAxQ7mPt92Q1Df9jQtfES6xNqRYDfkvGSBe1MlfldTm/4O8YmsH6s3HmnhQVlKFC+NqeOqlnlm4TuIfwqZPlsjvIuJVLf4aNFxs+yz91j+/221qcimwOMvlh2GVhcg2CSf+tpCOFSkMLsdn24vTBqjS+1PUnkL6eyf3YfiJbze2ckjFtfrRX9CZUSCBeN5tNCvm8Ochdm2i8K24klPewdbEYX5Ow8OeGrEd1ZTcKJjrjGlLTZsHARD1ameVNPkPHxVa7t2xWrLvj7vc/f7iD+FULpXo4VC6YiL27efJWmV8sk7Z3ZSCerbVG9OxOqmuRnbMhCGEdEawp9lDcgZytAV+kaCVUg8/mt04Eoq5vhSC2ghKoX3rMu OXaEP4uj cRWYGY5mfa5kbhwMj9+ax5UC1lKJtVcgKJBVxdEJDHeB/KROUJQGLE4b5+5RhBaGo2e94H+ZfkANSAl9MjWh/YFAiETDRe/1JAVRxTF0FxX9jyYNeCHXYK+kDW62EwoH6QJViAAx6n8EUqd3h7ds11JN6o3n0iJ91sKSMNi2Aqr4xi99ByJ0RsH/5Her36eKHl6Ovmi0J3Ex33TRgA8nm66gVEXL/JKcQAg8uaExAP2osTc4r87gYwi23jNkt/pyWj9VcFBYzenMsGRUitIzXuDecc+GsFIBumOSQc+deWDQo33IOwQkZ4OG/9+Sl1rzecuYSgc24B/IYaEjKa+cTMmGEvv75CkHW6012UYAjyOcbMgEOpe3+RqMaMK2Sdp2W9kiA/dIHa9/IJOWl/JsyDarII2b0xA31Zk70GCL7piH/kwEer7Pj6mvddFB7pgavn3RB6Mo2uVksEImXJ7pB0VOv0TDMhYl9qr/jY9k8uG6feB2ycE9zD7QmFw== 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: @willy The following patches that relevant to you but are missing your RVB. Do you think you can take a look when you have time? readahead: allocate folios with mapping_min_order in readahead mm: split a folio in minimum folio order chunks -- Pankaj > From: Pankaj Raghav > > This is the 11th version of the series that enables block size > page size > (Large Block Size) in XFS. > The context and motivation can be seen in cover letter of the RFC v1 [0]. > We also recorded a talk about this effort at LPC [1], if someone would > like more context on this effort. > > A lot of emphasis has been put on testing using kdevops, starting with an XFS > baseline [3]. The testing has been split into regression and progression. > > Regression testing: > In regression testing, we ran the whole test suite to check for regressions on > existing profiles due to the page cache changes. > > I also ran split_huge_page_test selftest on XFS filesystem to check for > huge page splits in min order chunks is done correctly. > > No regressions were found with these patches added on top. > > Progression testing: > For progression testing, we tested for 8k, 16k, 32k and 64k block sizes. To > compare it with existing support, an ARM VM with 64k base page system (without > our patches) was used as a reference to check for actual failures due to LBS > support in a 4k base page size system. > > There are some tests that assumes block size < page size that needs to be fixed. > We have a tree with fixes for xfstests [4], most of the changes have been posted > already, and only a few minor changes need to be posted. Already part of these > changes has been upstreamed to fstests, and new tests have also been written and > are out for review, namely for mmap zeroing-around corner cases, compaction > and fsstress races on mm, and stress testing folio truncation on file mapped > folios. > > No new failures were found with the LBS support. > > We've done some preliminary performance tests with fio on XFS on 4k block size > against pmem and NVMe with buffered IO and Direct IO on vanilla Vs + these > patches applied, and detected no regressions. > > We also wrote an eBPF tool called blkalgn [5] to see if IO sent to the device > is aligned and at least filesystem block size in length. > > For those who want this in a git tree we have this up on a kdevops > large-block-minorder-for-next-v11 tag [6]. > > [0] https://lore.kernel.org/lkml/20230915183848.1018717-1-kernel@pankajraghav.com/ > [1] https://www.youtube.com/watch?v=ar72r5Xf7x4 > [2] https://lkml.kernel.org/r/20240501153120.4094530-1-willy@infradead.org > [3] https://github.com/linux-kdevops/kdevops/blob/master/docs/xfs-bugs.md > 489 non-critical issues and 55 critical issues. We've determined and reported > that the 55 critical issues have all fall into 5 common XFS asserts or hung > tasks and 2 memory management asserts. > [4] https://github.com/linux-kdevops/fstests/tree/lbs-fixes > [5] https://github.com/iovisor/bcc/pull/4813 > [6] https://github.com/linux-kdevops/linux/ > [7] https://lore.kernel.org/linux-kernel/Zl20pc-YlIWCSy6Z@casper.infradead.org/#t > > Changes since v10: > - Revert back to silent clamping in mapping_set_folio_range(). > - Moved mapping_max_folio_size_supported() to patch 10. > - Collected RVB from Darrick. > > Dave Chinner (1): > xfs: use kvmalloc for xattr buffers > > Luis Chamberlain (1): > mm: split a folio in minimum folio order chunks > > Matthew Wilcox (Oracle) (1): > fs: Allow fine-grained control of folio sizes > > Pankaj Raghav (7): > filemap: allocate mapping_min_order folios in the page cache > readahead: allocate folios with mapping_min_order in readahead > filemap: cap PTE range to be created to allowed zero fill in > folio_map_range() > iomap: fix iomap_dio_zero() for fs bs > system page size > xfs: expose block size in stat > xfs: make the calculation generic in xfs_sb_validate_fsb_count() > xfs: enable block size larger than page size support > > fs/iomap/buffered-io.c | 4 +- > fs/iomap/direct-io.c | 45 +++++++++++-- > fs/xfs/libxfs/xfs_attr_leaf.c | 15 ++--- > fs/xfs/libxfs/xfs_ialloc.c | 5 ++ > fs/xfs/libxfs/xfs_shared.h | 3 + > fs/xfs/xfs_icache.c | 6 +- > fs/xfs/xfs_iops.c | 2 +- > fs/xfs/xfs_mount.c | 8 ++- > fs/xfs/xfs_super.c | 28 +++++--- > include/linux/huge_mm.h | 14 ++-- > include/linux/pagemap.h | 122 ++++++++++++++++++++++++++++++---- > mm/filemap.c | 36 ++++++---- > mm/huge_memory.c | 59 ++++++++++++++-- > mm/readahead.c | 83 +++++++++++++++++------ > 14 files changed, 345 insertions(+), 85 deletions(-) > > > base-commit: 2347b4c79f5e6cd3f4996e80c2d3c15f53006bf5 > -- > 2.44.1 >