From: Matthew Wilcox <willy@infradead.org>
To: Richard Weinberger <richard@nod.at>
Cc: linux-mtd <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH 00/15] ubifs folio conversion
Date: Wed, 24 Jan 2024 05:01:11 +0000 [thread overview]
Message-ID: <ZbCZl056dM_YF0P0@casper.infradead.org> (raw)
In-Reply-To: <1132174888.268752.1705995229529.JavaMail.zimbra@nod.at>
On Tue, Jan 23, 2024 at 08:33:49AM +0100, Richard Weinberger wrote:
> Matthew,
>
> ----- Ursprüngliche Mail -----
> > Von: "Matthew Wilcox" <willy@infradead.org>
> > An: "richard" <richard@nod.at>
> > CC: "Matthew Wilcox" <willy@infradead.org>, "linux-mtd" <linux-mtd@lists.infradead.org>
> > Gesendet: Sonntag, 21. Januar 2024 00:08:08
> > Betreff: [PATCH 00/15] ubifs folio conversion
>
> > This patchset converts ubifs to use folios throughout. I made some
> > attempt to support large folios, but more work definitely needs to be
> > done before it can be enabled. It's not clear to me whether it's worth
> > doing, so I've left that for you ;-)
>
> what is the benefit of large folios?
For another purpose, I just wrote this up. Possibly there are more
benefits, but these are the ones I remembered just now:
But why should a filesystem put in the effort to support large folios
(aka multi-page folios)?
Lower overheads
Fewer calls to the page allocator
Shorter LRU list helps vmscan age memory
Fewer calls to the page cache for large read()/write()
Fewer calls to the architecture code for handling faults in mmaped files
Potential use of larger TLB entries (eg contPTE / NAPOT)
Being a better kernel citizen
The more code using large folios, the easier it is to allocate large folios
The costs may outweigh the benefits. I would not invest time in making
iso9660, adfs or efs support large folios. But for filesystems which
are used every day (XFS, NFS, ext4, btrfs, ...) the benefit is very much
worth the cost.
> > I ran this through xfstests and it didn't seem any worse.
>
> Can you recommend a specific real load workload to stress test your changes?
Not really. Everything should work just as it did before. I doubt
you'd be able to see any performance differences with, eg, a kernel
compile. There's usually a few % gain when enabling large folios.
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2024-01-24 5:01 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-20 23:08 [PATCH 00/15] ubifs folio conversion Matthew Wilcox (Oracle)
2024-01-20 23:08 ` [PATCH 01/15] ubifs: Set page uptodate in the correct place Matthew Wilcox (Oracle)
2024-01-22 7:22 ` Zhihao Cheng
2024-01-22 14:40 ` Matthew Wilcox
2024-01-23 2:36 ` Zhihao Cheng
2024-01-24 5:01 ` Matthew Wilcox
2024-01-20 23:08 ` [PATCH 02/15] ubifs: Convert from writepage to writepages Matthew Wilcox (Oracle)
2024-01-22 11:31 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 03/15] ubifs: Convert ubifs_writepage to use a folio Matthew Wilcox (Oracle)
2024-01-22 9:27 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 04/15] ubifs: Use a folio in do_truncation() Matthew Wilcox (Oracle)
2024-01-22 9:31 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 05/15] ubifs: Convert do_writepage() to take a folio Matthew Wilcox (Oracle)
2024-01-22 11:31 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 06/15] ubifs: Convert ubifs_vm_page_mkwrite() to use " Matthew Wilcox (Oracle)
2024-01-22 11:38 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 07/15] ubifs: Convert write_begin_slow() " Matthew Wilcox (Oracle)
2024-01-20 23:08 ` [PATCH 08/15] ubifs: Convert ubifs_write_begin() " Matthew Wilcox (Oracle)
2024-01-22 11:51 ` Zhihao Cheng
2024-01-22 14:43 ` Matthew Wilcox
2024-01-23 2:15 ` Zhihao Cheng
2024-01-23 3:07 ` Matthew Wilcox
2024-01-23 4:27 ` Zhihao Cheng
2024-01-23 4:27 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 09/15] ubifs: Convert ubifs_write_end() " Matthew Wilcox (Oracle)
2024-01-23 4:39 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 10/15] ubifs: Convert do_readpage() to take " Matthew Wilcox (Oracle)
2024-01-22 12:09 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 11/15] ubifs: Convert allocate_budget() to work on " Matthew Wilcox (Oracle)
2024-01-22 11:52 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 12/15] ubifs: Convert cancel_budget() to take " Matthew Wilcox (Oracle)
2024-01-22 12:14 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 13/15] ubifs: Pass a folio into ubifs_bulk_read() and ubifs_do_bulk_read() Matthew Wilcox (Oracle)
2024-01-22 12:15 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 14/15] ubifs: Use a folio in ubifs_do_bulk_read() Matthew Wilcox (Oracle)
2024-01-22 12:17 ` Zhihao Cheng
2024-01-20 23:08 ` [PATCH 15/15] ubifs: Convert populate_page() to take a folio Matthew Wilcox (Oracle)
2024-01-22 12:22 ` Zhihao Cheng
2024-01-23 7:33 ` [PATCH 00/15] ubifs folio conversion Richard Weinberger
2024-01-24 5:01 ` Matthew Wilcox [this message]
2024-01-25 2:05 ` Zhihao Cheng
2024-02-15 20:46 ` Matthew Wilcox
2024-02-15 20:54 ` Richard Weinberger
2024-02-25 22:13 ` Richard Weinberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZbCZl056dM_YF0P0@casper.infradead.org \
--to=willy@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox