On Sun, May 21, 2023 at 08:49:53AM +0800, Wang Yugui wrote: > Hi, > > > Wang Yugui has a workload which would be improved by using large folios. > > Until now, we've only created large folios in the readahead path, > > but this workload writes without reading. The decision of what size > > folio to create is based purely on the size of the write() call (unlike > > readahead where we keep history and can choose to create larger folios > > based on that history even if individual reads are small). > > > > The third patch looks like it's an optional extra but is actually needed > > for the first two patches to work in the write path, otherwise it limits > > the length that iomap_get_folio() sees to PAGE_SIZE. > > very good test result on 6.4.0-rc2. > # just drop ';' in 'if (bytes > folio_size(folio) - offset);' of [PATCH 3/3]. > > fio -name write-bandwidth -rw=write -bs=1024Ki -size=32Gi -runtime=30 -iodepth 1 > -ioengine sync -zero_buffers=1 -direct=0 -end_fsync=1 -numjobs=4 > -directory=/mnt/test > fio WRITE: bw=7655MiB/s (8027MB/s). > > Now it is the same as 5.15.y Great! How close is that to saturating the theoretical write bandwidth of your storage?