linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Create large folios in iomap buffered write path
@ 2023-05-20 16:36 Matthew Wilcox (Oracle)
  2023-05-20 16:36 ` [PATCH 1/3] filemap: Allow __filemap_get_folio to allocate large folios Matthew Wilcox (Oracle)
                   ` (5 more replies)
  0 siblings, 6 replies; 20+ messages in thread
From: Matthew Wilcox (Oracle) @ 2023-05-20 16:36 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: Matthew Wilcox (Oracle),
	linux-xfs, Wang Yugui, Dave Chinner, Christoph Hellwig,
	Darrick J . Wong

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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-05-31  4:35 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-20 16:36 [PATCH 0/3] Create large folios in iomap buffered write path Matthew Wilcox (Oracle)
2023-05-20 16:36 ` [PATCH 1/3] filemap: Allow __filemap_get_folio to allocate large folios Matthew Wilcox (Oracle)
2023-05-21  1:02   ` Wang Yugui
2023-05-21  1:56     ` Matthew Wilcox
2023-05-21  2:04       ` Wang Yugui
2023-05-21  3:39         ` Matthew Wilcox
2023-05-21  2:13   ` Dave Chinner
2023-05-21  3:38     ` Matthew Wilcox
2023-05-23  5:59   ` Christoph Hellwig
2023-05-23 12:17     ` Matthew Wilcox
2023-05-20 16:36 ` [PATCH 2/3] iomap: Create large folios in the buffered write path Matthew Wilcox (Oracle)
2023-05-20 16:36 ` [PATCH 3/3] iomap: Copy larger chunks from userspace Matthew Wilcox (Oracle)
2023-05-20 19:11   ` kernel test robot
2023-05-20 19:25   ` kernel test robot
2023-05-21  0:49 ` [PATCH 0/3] Create large folios in iomap buffered write path Wang Yugui
2023-05-21  0:59   ` Matthew Wilcox
2023-05-21  1:38     ` Wang Yugui
2023-05-21  2:49 ` Dave Chinner
2023-05-21 11:40 ` Wang Yugui
2023-05-31  4:34   ` Wang Yugui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).