mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
mempolicy: remove confusing MPOL_MF_LAZY dead code
v3.8 commitb24f53a0be
("mm: mempolicy: Add MPOL_MF_LAZY") introduced MPOL_MF_LAZY, and included it in the MPOL_MF_VALID flags; buta720094ded
("mm: mempolicy: Hide MPOL_NOOP and MPOL_MF_LAZY from userspace for now") immediately removed it from MPOL_MF_VALID flags, pending further review. "This will need to be revisited", but it has not been reinstated. The present state is confusing: there is dead code in mm/mempolicy.c to handle MPOL_MF_LAZY cases which can never occur. Remove that: it can be resurrected later if necessary. But keep the definition of MPOL_MF_LAZY, which must remain in the UAPI, even though it always fails with EINVAL. https://lore.kernel.org/linux-mm/1553041659-46787-1-git-send-email-yang.shi@linux.alibaba.com/ links to a previous request to remove MPOL_MF_LAZY. Link: https://lkml.kernel.org/r/80c9665c-1c3f-17ba-21a3-f6115cebf7d@google.com Signed-off-by: Hugh Dickins <hughd@google.com> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Yang Shi <shy828301@gmail.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Christoph Lameter <cl@linux.com> Cc: David Hildenbrand <david@redhat.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Huang, Ying" <ying.huang@intel.com> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Nhat Pham <nphamcs@gmail.com> Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Tejun heo <tj@kernel.org> Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
35ec8fa020
commit
2cafb58217
@ -48,7 +48,7 @@ enum {
|
||||
#define MPOL_MF_MOVE (1<<1) /* Move pages owned by this process to conform
|
||||
to policy */
|
||||
#define MPOL_MF_MOVE_ALL (1<<2) /* Move every page to conform to policy */
|
||||
#define MPOL_MF_LAZY (1<<3) /* Modifies '_MOVE: lazy migrate on fault */
|
||||
#define MPOL_MF_LAZY (1<<3) /* UNSUPPORTED FLAG: Lazy migrate on fault */
|
||||
#define MPOL_MF_INTERNAL (1<<4) /* Internal flags start here */
|
||||
|
||||
#define MPOL_MF_VALID (MPOL_MF_STRICT | \
|
||||
|
@ -636,12 +636,6 @@ unsigned long change_prot_numa(struct vm_area_struct *vma,
|
||||
|
||||
return nr_updated;
|
||||
}
|
||||
#else
|
||||
static unsigned long change_prot_numa(struct vm_area_struct *vma,
|
||||
unsigned long addr, unsigned long end)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_NUMA_BALANCING */
|
||||
|
||||
static int queue_pages_test_walk(unsigned long start, unsigned long end,
|
||||
@ -680,14 +674,6 @@ static int queue_pages_test_walk(unsigned long start, unsigned long end,
|
||||
if (endvma > end)
|
||||
endvma = end;
|
||||
|
||||
if (flags & MPOL_MF_LAZY) {
|
||||
/* Similar to task_numa_work, skip inaccessible VMAs */
|
||||
if (!is_vm_hugetlb_page(vma) && vma_is_accessible(vma) &&
|
||||
!(vma->vm_flags & VM_MIXEDMAP))
|
||||
change_prot_numa(vma, start, endvma);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check page nodes, and queue pages to move, in the current vma.
|
||||
* But if no moving, and no strict checking, the scan can be skipped.
|
||||
@ -1254,9 +1240,6 @@ static long do_mbind(unsigned long start, unsigned long len,
|
||||
if (IS_ERR(new))
|
||||
return PTR_ERR(new);
|
||||
|
||||
if (flags & MPOL_MF_LAZY)
|
||||
new->flags |= MPOL_F_MOF;
|
||||
|
||||
/*
|
||||
* If we are using the default policy then operation
|
||||
* on discontinuous address spaces is okay after all
|
||||
@ -1301,7 +1284,6 @@ static long do_mbind(unsigned long start, unsigned long len,
|
||||
|
||||
if (!err) {
|
||||
if (!list_empty(&pagelist)) {
|
||||
WARN_ON_ONCE(flags & MPOL_MF_LAZY);
|
||||
nr_failed |= migrate_pages(&pagelist, new_folio, NULL,
|
||||
start, MIGRATE_SYNC, MR_MEMPOLICY_MBIND, NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user