mbox series

[v14c,00/39] Memory folios: Pagecache edition

Message ID 20210715200030.899216-1-willy@infradead.org (mailing list archive)
Headers show
Series Memory folios: Pagecache edition | expand

Message

Matthew Wilcox July 15, 2021, 7:59 p.m. UTC
This patch series is for human review.  The bots are going to complain
because it depends on the previous 50 folio patches which are now quite
well reviewed (thanks!)  It's almost identical to patches 51-89 of
folio v14 (added a few R-b tags and a couple of minor build fixes)

This set of patches are everything that needs to be done before I can
convert iomap to use folios.  It's probably also all or most of what
needs to be done before other filesystems can be converted to use folios.
So getting this into v5.15 will enable a lot of other work to start.

Matthew Wilcox (Oracle) (39):
  mm: Add folio_pfn()
  mm: Add folio_raw_mapping()
  mm: Add flush_dcache_folio()
  mm: Add kmap_local_folio()
  mm: Add arch_make_folio_accessible()
  mm: Add folio_young and folio_idle
  mm/swap: Add folio_activate()
  mm/swap: Add folio_mark_accessed()
  mm/rmap: Add folio_mkclean()
  mm/migrate: Add folio_migrate_mapping()
  mm/migrate: Add folio_migrate_flags()
  mm/migrate: Add folio_migrate_copy()
  mm/writeback: Rename __add_wb_stat() to wb_stat_mod()
  flex_proportions: Allow N events instead of 1
  mm/writeback: Change __wb_writeout_inc() to __wb_writeout_add()
  mm/writeback: Add __folio_end_writeback()
  mm/writeback: Add folio_start_writeback()
  mm/writeback: Add folio_mark_dirty()
  mm/writeback: Add __folio_mark_dirty()
  mm/writeback: Convert tracing writeback_page_template to folios
  mm/writeback: Add filemap_dirty_folio()
  mm/writeback: Add folio_account_cleaned()
  mm/writeback: Add folio_cancel_dirty()
  mm/writeback: Add folio_clear_dirty_for_io()
  mm/writeback: Add folio_account_redirty()
  mm/writeback: Add folio_redirty_for_writepage()
  mm/filemap: Add i_blocks_per_folio()
  mm/filemap: Add folio_mkwrite_check_truncate()
  mm/filemap: Add readahead_folio()
  mm/workingset: Convert workingset_refault() to take a folio
  mm: Add folio_evictable()
  mm/lru: Convert __pagevec_lru_add_fn to take a folio
  mm/lru: Add folio_add_lru()
  mm/page_alloc: Add folio allocation functions
  mm/filemap: Add filemap_alloc_folio
  mm/filemap: Add filemap_add_folio()
  mm/filemap: Convert mapping_get_entry to return a folio
  mm/filemap: Add filemap_get_folio
  mm/filemap: Add FGP_STABLE

 Documentation/core-api/cachetlb.rst |   6 +
 arch/arm/include/asm/cacheflush.h   |   1 +
 arch/nds32/include/asm/cacheflush.h |   1 +
 fs/jfs/jfs_metapage.c               |   1 +
 include/asm-generic/cacheflush.h    |   6 +
 include/linux/backing-dev.h         |   6 +-
 include/linux/flex_proportions.h    |   9 +-
 include/linux/gfp.h                 |  22 +-
 include/linux/highmem-internal.h    |  11 +
 include/linux/highmem.h             |  38 +++
 include/linux/ksm.h                 |   4 +-
 include/linux/memcontrol.h          |   5 +-
 include/linux/migrate.h             |   4 +
 include/linux/mm.h                  |  62 +++--
 include/linux/page-flags.h          |  20 +-
 include/linux/page_idle.h           |  99 ++++---
 include/linux/page_owner.h          |   8 +-
 include/linux/pagemap.h             | 189 ++++++++++----
 include/linux/rmap.h                |  10 +-
 include/linux/swap.h                |   8 +-
 include/linux/writeback.h           |   9 +-
 include/trace/events/pagemap.h      |  46 ++--
 include/trace/events/writeback.h    |  20 +-
 kernel/bpf/verifier.c               |   2 +-
 lib/flex_proportions.c              |  28 +-
 mm/filemap.c                        | 238 ++++++++---------
 mm/folio-compat.c                   |  99 +++++++
 mm/hugetlb.c                        |   2 +-
 mm/internal.h                       |  35 ++-
 mm/ksm.c                            |  31 ++-
 mm/memory.c                         |   3 +-
 mm/mempolicy.c                      |  10 +
 mm/migrate.c                        | 187 +++++++-------
 mm/page-writeback.c                 | 383 +++++++++++++++-------------
 mm/page_alloc.c                     |  12 +
 mm/page_owner.c                     |  10 +-
 mm/rmap.c                           |  12 +-
 mm/swap.c                           | 136 +++++-----
 mm/swap_state.c                     |   2 +-
 mm/util.c                           |  39 +--
 mm/workingset.c                     |  34 +--
 41 files changed, 1095 insertions(+), 753 deletions(-)