From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: akpm@linuxfoundation.org, linux-mm@kvack.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: [PATCH v2 00/26] Folio patches for 5.19
Date: Wed, 4 May 2022 19:28:31 +0100 [thread overview]
Message-ID: <20220504182857.4013401-1-willy@infradead.org> (raw)
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
next reply other threads:[~2022-05-04 18:29 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-04 18:28 Matthew Wilcox (Oracle) [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220504182857.4013401-1-willy@infradead.org \
--to=willy@infradead.org \
--cc=akpm@linuxfoundation.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox