On Tue, Mar 18, 2025 at 05:43:41PM +0000, Ryan Roberts wrote: > create_pagecache_thp_and_fd() was previously writing a file sized at > twice the PMD size by making a per-byte write syscall. This was quite > slow when the PMD size is 4M, but completely intolerable for 32M (PMD > size for arm64's 16K page size), and 512M (PMD size for arm64's 64K page > size). > > The byte pattern has a 256 byte period, so let's create a 1K buffer and > fill it with exactly 4 periods. Then we can write the buffer as many > times as is required to fill the file. This makes things much more > tolerable. > > The test now passes for 16K page size. It still fails for 64K page size > because MAX_PAGECACHE_ORDER is too small for 512M folio size (I think). > > Signed-off-by: Ryan Roberts <ryan.roberts@xxxxxxx> Acked-by: Peter Xu <peterx@xxxxxxxxxx> -- Peter Xu