On Mon, Jul 10, 2023 at 05:21:04PM -0700, Luis Chamberlain wrote: > On Tue, Jul 11, 2023 at 01:07:37AM +0100, Matthew Wilcox wrote: > > The caller hints at the > > folio size it wants, and this code you're highlighting limits it to be > > less than MAX_PAGECACHE_ORDER. > > Yes sorry, if the write size is large we still max out at MAX_PAGECACHE_ORDER > naturally. I don't doubt the rationale that that is a good idea. > > What I'm curious about is why are we OK to jump straight to MAX_PAGECACHE_ORDER > from the start and if there are situations where perhaps a a > not-so-aggressive high order may be desriable. How do we know? Decades of experience optimising IO and allocation on extent based filesystems tell us this is the right thing to do. i.e. we should always attempt to allocate the largest contiguous range possible for the current operation being performed. This almost always results in the minimum amount of metadata and overhead to index and manage the data being stored. There are relatively few situations where this is not the right thing to do, but that is where per-inode behavioural control options like extent size hints come into play.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx