On Fri, Sep 15, 2023 at 05:29:51PM +0200, David Hildenbrand wrote: > On 15.09.23 11:51, Daniel Gomez wrote: > > This series add support for high order folios in shmem write > > path. > > > > This is a continuation of the shmem work from Luis here [1] > > following Matthew Wilcox's suggestion [2] regarding the path to take > > for the folio allocation order calculation. > > > > [1] RFC v2 add support for blocksize > PAGE_SIZE > > https://lore.kernel.org/all/ZHBowMEDfyrAAOWH@xxxxxxxxxxxxxxxxxxxxxx/T/#md3e93ab46ce2ad9254e1eb54ffe71211988b5632 > > [2] https://lore.kernel.org/all/ZHD9zmIeNXICDaRJ@xxxxxxxxxxxxxxxxxxxx/ > > > > Patches have been tested and sent from next-230911. They do apply > > cleanly to the latest next-230914. > > > > fsx and fstests has been performed on tmpfs with noswap with the > > following results: > > - fsx: 2d test, 21,5B > > - fstests: Same result as baseline for next-230911 [3][4][5] > > > > [3] Baseline next-230911 failures are: generic/080 generic/126 > > generic/193 generic/633 generic/689 > > [4] fstests logs baseline: https://gitlab.com/-/snippets/3598621 > > [5] fstests logs patches: https://gitlab.com/-/snippets/3598628 > > > > There are at least 2 cases/topics to handle that I'd appreciate > > feedback. > > 1. With the new strategy, you might end up with a folio order matching > > HPAGE_PMD_ORDER. However, we won't respect the 'huge' flag anymore if > > THP is enabled. > > 2. When the above (1.) occurs, the code skips the huge path, so > > xa_find with hindex is skipped. > > Similar to large anon folios (but different to large non-shmem folios in the > pagecache), this can result in memory waste. > > We discussed that topic in the last bi-weekly mm meeting, and also how to > eventually configure that for shmem. > > Refer to of a summary. [1] > > [1] https://lkml.kernel.org/r/4966f496-9f71-460c-b2ab-8661384ce626@xxxxxxx Thanks for the summary David (I was missing linux-MM from kvack in lei). I think the PMD_ORDER-1 as max would suffice here to honor/respect the huge flag. Although, we would end up having a different max value than pagecache/readahead. > > -- > Cheers, > > David / dhildenb >