All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/26] Folio patches for 5.19
@ 2022-05-04 18:28 Matthew Wilcox (Oracle)
  2022-05-04 18:28 ` [PATCH v2 01/26] shmem: Convert shmem_alloc_hugepage() to use vma_alloc_folio() Matthew Wilcox (Oracle)
                   ` (25 more replies)
  0 siblings, 26 replies; 58+ messages in thread
From: Matthew Wilcox (Oracle) @ 2022-05-04 18:28 UTC (permalink / raw)
  To: akpm, linux-mm; +Cc: Matthew Wilcox (Oracle)

Sorry for the bugginess that slipped through my testing in v1.
I think this series addresses all of the reported problems.

v2:
 - Add "alpha: Fix alloc_zeroed_user_highpage_movable()"
 - Rework the shmem_alloc_page() -> shmem_alloc_folio() conversion to
   be less disruptive (and buggy)
 - Use folio_test_pmd_mappable() instead of folio_test_large() to
   fix the !THP builds
 - Initialise 'folio' to NULL in shmem_swapin_folio to fix the error
   case
 - Avoid using HPAGE_PMD_NR in shmem_getpage_gfp()
 - Remove BUILD_BUG from can_split_folio()
 - Add the mm parts needed to convert ->migratepage to migrate_folio
   for fs in the next merge window
v1:
 - Finish the conversion from alloc_pages_vma() to vma_alloc_folio()
 - Finish converting shrink_page_list() to folios
 - Start converting shmem from pages to folios (alas, not finished,
   I have simply run out of time with all the debugging/fixing needed
   for 5.18)

Matthew Wilcox (Oracle) (26):
  shmem: Convert shmem_alloc_hugepage() to use vma_alloc_folio()
  mm/huge_memory: Convert do_huge_pmd_anonymous_page() to use 
    vma_alloc_folio()
  alpha: Fix alloc_zeroed_user_highpage_movable()
  mm: Remove alloc_pages_vma()
  vmscan: Use folio_mapped() in shrink_page_list()
  vmscan: Convert the writeback handling in shrink_page_list() to folios
  swap: Turn get_swap_page() into folio_alloc_swap()
  swap: Convert add_to_swap() to take a folio
  vmscan: Convert dirty page handling to folios
  vmscan: Convert page buffer handling to use folios
  vmscan: Convert lazy freeing to folios
  vmscan: Move initialisation of mapping down
  vmscan: Convert the activate_locked portion of shrink_page_list to
    folios
  mm: Allow can_split_folio() to be called when THP are disabled
  vmscan: Remove remaining uses of page in shrink_page_list
  mm/shmem: Use a folio in shmem_unused_huge_shrink
  mm/swap: Add folio_throttle_swaprate
  mm/shmem: Convert shmem_add_to_page_cache to take a folio
  mm/shmem: Turn shmem_should_replace_page into
    shmem_should_replace_folio
  mm/shmem: Add shmem_alloc_folio()
  mm/shmem: Convert shmem_alloc_and_acct_page to use a folio
  mm/shmem: Convert shmem_getpage_gfp to use a folio
  mm/shmem: Convert shmem_swapin_page() to shmem_swapin_folio()
  mm: Add folio_mapping_flags()
  mm: Add folio_test_movable()
  mm/migrate: Convert move_to_new_page() into move_to_new_folio()

 arch/alpha/include/asm/page.h    |   2 +-
 arch/arm64/include/asm/pgtable.h |   6 +-
 include/linux/gfp.h              |  18 +-
 include/linux/huge_mm.h          |   1 -
 include/linux/memcontrol.h       |  14 ++
 include/linux/migrate.h          |   5 +
 include/linux/page-flags.h       |   5 +
 include/linux/pgtable.h          |   2 +-
 include/linux/swap.h             |  23 ++-
 mm/huge_memory.c                 |   9 +-
 mm/memcontrol.c                  |  16 +-
 mm/mempolicy.c                   |  51 +++--
 mm/migrate.c                     |  58 +++---
 mm/shmem.c                       | 320 +++++++++++++++---------------
 mm/swap_slots.c                  |  14 +-
 mm/swap_state.c                  |  48 ++---
 mm/swapfile.c                    |  17 +-
 mm/vmscan.c                      | 326 ++++++++++++++++---------------
 18 files changed, 482 insertions(+), 453 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2022-05-11  3:25 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-04 18:28 [PATCH v2 00/26] Folio patches for 5.19 Matthew Wilcox (Oracle)
2022-05-04 18:28 ` [PATCH v2 01/26] shmem: Convert shmem_alloc_hugepage() to use vma_alloc_folio() Matthew Wilcox (Oracle)
2022-05-05 15:30   ` Christoph Hellwig
2022-05-05 17:29   ` Zi Yan
2022-05-04 18:28 ` [PATCH v2 02/26] mm/huge_memory: Convert do_huge_pmd_anonymous_page() " Matthew Wilcox (Oracle)
2022-05-05 15:31   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 03/26] alpha: Fix alloc_zeroed_user_highpage_movable() Matthew Wilcox (Oracle)
2022-05-05 15:31   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 04/26] mm: Remove alloc_pages_vma() Matthew Wilcox (Oracle)
2022-05-05 15:34   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 05/26] vmscan: Use folio_mapped() in shrink_page_list() Matthew Wilcox (Oracle)
2022-05-05 15:34   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 06/26] vmscan: Convert the writeback handling in shrink_page_list() to folios Matthew Wilcox (Oracle)
2022-05-05 15:35   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 07/26] swap: Turn get_swap_page() into folio_alloc_swap() Matthew Wilcox (Oracle)
2022-05-05 15:35   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 08/26] swap: Convert add_to_swap() to take a folio Matthew Wilcox (Oracle)
2022-05-05 15:35   ` Christoph Hellwig
2022-05-06  1:21   ` Andrew Morton
2022-05-06  1:39     ` Matthew Wilcox
2022-05-04 18:28 ` [PATCH v2 09/26] vmscan: Convert dirty page handling to folios Matthew Wilcox (Oracle)
2022-05-05 15:36   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 10/26] vmscan: Convert page buffer handling to use folios Matthew Wilcox (Oracle)
2022-05-05 15:36   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 11/26] vmscan: Convert lazy freeing to folios Matthew Wilcox (Oracle)
2022-05-05 15:37   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 12/26] vmscan: Move initialisation of mapping down Matthew Wilcox (Oracle)
2022-05-05 15:37   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 13/26] vmscan: Convert the activate_locked portion of shrink_page_list to folios Matthew Wilcox (Oracle)
2022-05-05 15:37   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 14/26] mm: Allow can_split_folio() to be called when THP are disabled Matthew Wilcox (Oracle)
2022-05-05 15:38   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 15/26] vmscan: Remove remaining uses of page in shrink_page_list Matthew Wilcox (Oracle)
2022-05-05 15:38   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 16/26] mm/shmem: Use a folio in shmem_unused_huge_shrink Matthew Wilcox (Oracle)
2022-05-05 15:38   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 17/26] mm/swap: Add folio_throttle_swaprate Matthew Wilcox (Oracle)
2022-05-05 15:39   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 18/26] mm/shmem: Convert shmem_add_to_page_cache to take a folio Matthew Wilcox (Oracle)
2022-05-05 15:39   ` Christoph Hellwig
2022-05-11  3:06   ` Mike Kravetz
2022-05-11  3:25     ` Matthew Wilcox
2022-05-04 18:28 ` [PATCH v2 19/26] mm/shmem: Turn shmem_should_replace_page into shmem_should_replace_folio Matthew Wilcox (Oracle)
2022-05-05 15:40   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 20/26] mm/shmem: Add shmem_alloc_folio() Matthew Wilcox (Oracle)
2022-05-05 15:40   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 21/26] mm/shmem: Convert shmem_alloc_and_acct_page to use a folio Matthew Wilcox (Oracle)
2022-05-05 15:40   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 22/26] mm/shmem: Convert shmem_getpage_gfp " Matthew Wilcox (Oracle)
2022-05-05 15:41   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 23/26] mm/shmem: Convert shmem_swapin_page() to shmem_swapin_folio() Matthew Wilcox (Oracle)
2022-05-05 15:41   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 24/26] mm: Add folio_mapping_flags() Matthew Wilcox (Oracle)
2022-05-05 15:41   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 25/26] mm: Add folio_test_movable() Matthew Wilcox (Oracle)
2022-05-05 15:42   ` Christoph Hellwig
2022-05-04 18:28 ` [PATCH v2 26/26] mm/migrate: Convert move_to_new_page() into move_to_new_folio() Matthew Wilcox (Oracle)
2022-05-05 15:42   ` Christoph Hellwig

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.