[PATCH 0/3] Create large folios in iomap buffered write path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Matthew Wilcox (Oracle) (3):
  filemap: Allow __filemap_get_folio to allocate large folios
  iomap: Create large folios in the buffered write path
  iomap: Copy larger chunks from userspace

 fs/gfs2/bmap.c          |  2 +-
 fs/iomap/buffered-io.c  | 32 ++++++++++++++++++------------
 include/linux/iomap.h   |  2 +-
 include/linux/pagemap.h | 29 ++++++++++++++++++++++++---
 mm/filemap.c            | 44 ++++++++++++++++++++++++++++-------------
 mm/folio-compat.c       |  2 +-
 mm/readahead.c          | 13 ------------
 7 files changed, 78 insertions(+), 46 deletions(-)

-- 
2.39.2




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux