All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/18] Refactor generic_file_buffered_read
@ 2020-11-10  3:36 Matthew Wilcox (Oracle)
  2020-11-10  3:36 ` [PATCH v3 01/18] mm/filemap: Rename generic_file_buffered_read subfunctions Matthew Wilcox (Oracle)
                   ` (17 more replies)
  0 siblings, 18 replies; 29+ messages in thread
From: Matthew Wilcox (Oracle) @ 2020-11-10  3:36 UTC (permalink / raw)
  To: linux-fsdevel, linux-mm; +Cc: Matthew Wilcox (Oracle), hch, kent.overstreet

This is a combination of Christoph's work to refactor
generic_file_buffered_read() and my THP support on top of Kent's patches
which are currently in -mm.  I really like where this ended up.

v3:
 - Fixed missing put_page for readahead with IOCB_NOIO (hch)
 - Fixed commit message for lock_page_for_iocb (nborisov)
 - Kent has agreed to reduce to PAGEVEC_SIZE entries per iteration,
   since we can go up to larger pagevecs later if needed.
v2:
 - Added pagevec conversion upfront and rebased other patches on top of
   it (me)
 - Limit page search by max pgoff_t rather than by number of pages (me)
 - Renamed mapping_get_read_thps() to filemap_get_read_batch() (hch/me)
 - Added doc for filemap_get_read_batch() (hch/me)
 - Removed 'first' parameter from filemap_update_page() (me)
 - Folded "Remove parameters from filemap_update_page()" into an earlier
   patch (hch)
 - Restructured filemap_update_page() error handling flow (hch/me)
 - Pass the pagevec to filemap_create_page() (hch)
 - Renamed 'find_page' label to 'retry' (hch)
 - Explicitly check for AOP_TRUNCATED_PAGE instead of assuming err > 0
   means retry (hch)
 - Move mark_page_accessed() and handling of i_size into main copy loop (me)

Christoph Hellwig (2):
  mm/filemap: Rename generic_file_buffered_read to filemap_read
  mm/filemap: Simplify generic_file_read_iter

Matthew Wilcox (Oracle) (16):
  mm/filemap: Rename generic_file_buffered_read subfunctions
  mm/filemap: Remove dynamically allocated array from filemap_read
  mm/filemap: Convert filemap_get_pages to take a pagevec
  mm/filemap: Use THPs in generic_file_buffered_read
  mm/filemap: Pass a sleep state to put_and_wait_on_page_locked
  mm/filemap: Support readpage splitting a page
  mm/filemap: Inline __wait_on_page_locked_async into caller
  mm/filemap: Don't call ->readpage if IOCB_WAITQ is set
  mm/filemap: Change filemap_read_page calling conventions
  mm/filemap: Change filemap_create_page calling conventions
  mm/filemap: Convert filemap_update_page to return an errno
  mm/filemap: Move the iocb checks into filemap_update_page
  mm/filemap: Add filemap_range_uptodate
  mm/filemap: Split filemap_readahead out of filemap_get_pages
  mm/filemap: Restructure filemap_get_pages
  mm/filemap: Don't relock the page after calling readpage

 fs/btrfs/file.c         |   2 +-
 include/linux/fs.h      |   4 +-
 include/linux/pagemap.h |   3 +-
 mm/filemap.c            | 568 ++++++++++++++++++----------------------
 mm/huge_memory.c        |   4 +-
 mm/migrate.c            |   4 +-
 6 files changed, 270 insertions(+), 315 deletions(-)

-- 
2.28.0


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

end of thread, other threads:[~2020-11-17 16:07 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-10  3:36 [PATCH v3 00/18] Refactor generic_file_buffered_read Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 01/18] mm/filemap: Rename generic_file_buffered_read subfunctions Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 02/18] mm/filemap: Remove dynamically allocated array from filemap_read Matthew Wilcox (Oracle)
2020-11-10 18:20   ` Christoph Hellwig
2020-11-10  3:36 ` [PATCH v3 03/18] mm/filemap: Convert filemap_get_pages to take a pagevec Matthew Wilcox (Oracle)
2020-11-10 18:21   ` Christoph Hellwig
2020-11-10 18:25     ` Matthew Wilcox
2020-11-10  3:36 ` [PATCH v3 04/18] mm/filemap: Use THPs in generic_file_buffered_read Matthew Wilcox (Oracle)
2020-11-17 16:00   ` Zi Yan
2020-11-17 16:07     ` Matthew Wilcox
2020-11-10  3:36 ` [PATCH v3 05/18] mm/filemap: Pass a sleep state to put_and_wait_on_page_locked Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 06/18] mm/filemap: Support readpage splitting a page Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 07/18] mm/filemap: Inline __wait_on_page_locked_async into caller Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 08/18] mm/filemap: Don't call ->readpage if IOCB_WAITQ is set Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 09/18] mm/filemap: Change filemap_read_page calling conventions Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 10/18] mm/filemap: Change filemap_create_page " Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 11/18] mm/filemap: Convert filemap_update_page to return an errno Matthew Wilcox (Oracle)
2020-11-10 18:22   ` Christoph Hellwig
2020-11-10  3:36 ` [PATCH v3 12/18] mm/filemap: Move the iocb checks into filemap_update_page Matthew Wilcox (Oracle)
2020-11-10  3:36 ` [PATCH v3 13/18] mm/filemap: Add filemap_range_uptodate Matthew Wilcox (Oracle)
2020-11-10 18:22   ` Christoph Hellwig
2020-11-10  3:36 ` [PATCH v3 14/18] mm/filemap: Split filemap_readahead out of filemap_get_pages Matthew Wilcox (Oracle)
2020-11-10 18:23   ` Christoph Hellwig
2020-11-10  3:37 ` [PATCH v3 15/18] mm/filemap: Restructure filemap_get_pages Matthew Wilcox (Oracle)
2020-11-10 18:24   ` Christoph Hellwig
2020-11-10  3:37 ` [PATCH v3 16/18] mm/filemap: Don't relock the page after calling readpage Matthew Wilcox (Oracle)
2020-11-10 18:24   ` Christoph Hellwig
2020-11-10  3:37 ` [PATCH v3 17/18] mm/filemap: Rename generic_file_buffered_read to filemap_read Matthew Wilcox (Oracle)
2020-11-10  3:37 ` [PATCH v3 18/18] mm/filemap: Simplify generic_file_read_iter Matthew Wilcox (Oracle)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.