> On Jan 24, 2023, at 11:07, Olga Kornievskaia <aglo@xxxxxxxxx> wrote: > > On Fri, Jan 20, 2023 at 12:10 AM <trondmy@xxxxxxxxxx> wrote: >> >> From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> >> >> This set of patches represents an initial effort to convert the page >> cache I/O in the NFS client to use native folio functionality. It should >> allow the nfs_page structs and their helpers to carry folios (including >> folios of order > 0) and to pass their data contents through to the RPC >> layer. >> Note that because O_DIRECT uses pages, we still need to support the >> traditional page based I/O, and so the new struct nfs_page will carry >> both types. >> I did not touch the fscache code, but I expect that to be able to >> continue to work with order 0 folios. >> >> The plan is to merge this functionality with order 0 folios first, in >> order to catch any regressions in existing functionality. Then we can >> enable order n > 0 once we're happy about the stability (at least for >> the non-fscache case). >> >> At this point, the xfstests are all passing without any regressions on >> my setup, so I'm throwing the patches over the fence to allow for wider >> testing. >> Please make sure, in particular to test pNFS if your server supports it. >> I didn't have to make any changes to the pNFS code, and I don't expect >> any trouble, but it would be good to have validation of that assumption. > > Here's my experience with running with these patches running thru > xfstest's quick group: > Against a linux server: takes about a couple of minutes longer to run > with folio patches (48m with folio, 45 without) but that's just from 1 > run with and and without. > > Against an ontap server (so pnfs case): total time is higher with > patches: I have a difference of 47m with folio and 38m without. > > While I don't believe this is related to folio patches but I need to > increase my vm's size to 4g to have a successful run of xfstest. Tests > generic/531 and generic/460 are problematic with 2G. generic/531 leads > to oom-killer and generic/460 hangs. Hmm… Does the performance climb back to normal if you revert the patch 21f5ae90169b ("NFS: fix up nfs_release_folio() to try to release the page”)? That’s the only one I can think of that does more than just convert from struct page -> struct folio. _________________________________ Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx