| From: |
| Hugh Dickins <hughd-AT-google.com> |
| To: |
| Andrew Morton <akpm-AT-linux-foundation.org> |
| Subject: |
| [PATCH v2 00/12] mempolicy: cleanups leading to NUMA mpol without vma |
| Date: |
| Tue, 03 Oct 2023 02:12:14 -0700 |
| Message-ID: |
| <ebc0987e-beff-8bfb-9283-234c2cbd17c5@google.com> |
| Cc: |
| Andi Kleen <ak-AT-linux.intel.com>, Christoph Lameter <cl-AT-linux.com>, Matthew Wilcox <willy-AT-infradead.org>, Mike Kravetz <mike.kravetz-AT-oracle.com>, David Hildenbrand <david-AT-redhat.com>, Suren Baghdasaryan <surenb-AT-google.com>, Yang Shi <shy828301-AT-gmail.com>, Sidhartha Kumar <sidhartha.kumar-AT-oracle.com>, Vishal Moola <vishal.moola-AT-gmail.com>, Kefeng Wang <wangkefeng.wang-AT-huawei.com>, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Tejun Heo <tj-AT-kernel.org>, Mel Gorman <mgorman-AT-techsingularity.net>, Michal Hocko <mhocko-AT-suse.com>, "Huang, Ying" <ying.huang-AT-intel.com>, linux-kernel-AT-vger.kernel.org, linux-mm-AT-kvack.org |
| Archive-link: |
| Article |
Here is v2 of a series of mempolicy patches, this version based on
mm-everything-2023-10-02-21-43, applicable also to next-20231003:
mostly cleanups in mm/mempolicy.c, but finally removing the pseudo-vma
from shmem folio allocation, and removing the mmap_lock around folio
migration for mbind and migrate_pages syscalls.
This replaces the "mempolicy: cleanups leading to NUMA mpol without vma"
https://lore.kernel.org/linux-mm/2d872cef-7787-a7ca-10e-9...
series of 12 based on 6.6-rc3 and posted on 2023-09-25.
01/12 hugetlbfs: drop shared NUMA mempolicy pretence
v2: add reviewed-by Matthew
hugetlb.h include pagemap.h for filemap_lock_folio()
02/12 kernfs: drop shared NUMA mempolicy hooks
v2: add reviewed-by Matthew
03/12 mempolicy: fix migrate_pages(2) syscall return
v2: add reviewed-by Matthew
replace Yang Shi's qp->has_unmovable by qp->nr_failed
remove ptl,addr,end to queue_folios_pmd() per Huang,Ying
reword comments above queue_folios_pte_range()
fix incorrect migrate_folio_add()ing per Huang,Ying
which also fixes qp->nr_failed as count of folios
04/12 mempolicy trivia: delete those ancient pr_debug()s
v2: add reviewed-by Matthew
05/12 mempolicy trivia: slightly more consistent naming
v2: add reviewed-by Matthew
06/12 mempolicy trivia: use pgoff_t in shared mempolicy tree
v2: declare struct shared_policy (the root) before struct sp_node
reformat sp_lookup, mpol_shared_policy_lookup decls per Matthew
07/12 mempolicy: mpol_shared_policy_init() without pseudo-vma
v2: sn,npol instead of n,new (but no optimization) per Matthew
08/12 mempolicy: remove confusing MPOL_MF_LAZY dead code
v2: add reviewed-by Matthew
09/12 mm: add page_rmappable_folio() wrapper
v2: move page_rmappable_folio() to mm/internal.h per Matthew
10/12 mempolicy: alloc_pages_mpol() for NUMA policy without vma
v2: adjust to fit on top of earlier mm-unstable mods
11/12 mempolicy: mmap_lock is not needed while migrating folios
v2: remove HugeTLBfs special casing of src->index
12/12 mempolicy: migration attempt to match interleave nodes
v2: remove HugeTLBfs special casing of page->index
fs/hugetlbfs/inode.c | 41 +-
fs/kernfs/file.c | 49 --
fs/proc/task_mmu.c | 5 +-
include/linux/gfp.h | 10 +-
include/linux/hugetlb.h | 12 +-
include/linux/mempolicy.h | 44 +-
include/linux/mm.h | 2 +-
include/uapi/linux/mempolicy.h | 2 +-
ipc/shm.c | 21 +-
mm/hugetlb.c | 38 +-
mm/internal.h | 9 +
mm/mempolicy.c | 988 ++++++++++++++++-------------------
mm/page_alloc.c | 8 +-
mm/shmem.c | 92 ++--
mm/swap.h | 9 +-
mm/swap_state.c | 83 +--
16 files changed, 630 insertions(+), 783 deletions(-)
Hugh