mm: perproc-reclaim: Adapt to use new mm_walk_ops API
commit: pagewalk: separate function pointers from iterator data allows us to add operations inside mm_walk_ops structure so refactor the code to use it instead of mm_walk structure. Change-Id: I2d09bffe41f7fc8d683a15ae545042c02d41c9b1 Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
This commit is contained in:
parent
84ebfc164d
commit
db8a6e105e
@ -1921,11 +1921,6 @@ static ssize_t reclaim_write(struct file *file, const char __user *buf,
|
||||
|
||||
mm = get_task_mm(task);
|
||||
if (mm) {
|
||||
struct mm_walk reclaim_walk = {
|
||||
.pmd_entry = reclaim_pte_range,
|
||||
.mm = mm,
|
||||
};
|
||||
|
||||
down_read(&mm->mmap_sem);
|
||||
for (vma = mm->mmap; vma; vma = vma->vm_next) {
|
||||
if (is_vm_hugetlb_page(vma))
|
||||
@ -1940,6 +1935,10 @@ static ssize_t reclaim_write(struct file *file, const char __user *buf,
|
||||
continue;
|
||||
|
||||
if (vma_is_anonymous(vma)) {
|
||||
const struct mm_walk_ops reclaim_walk_ops = {
|
||||
.pmd_entry = reclaim_pte_range,
|
||||
};
|
||||
|
||||
if (get_nr_swap_pages() <= 0 ||
|
||||
get_mm_counter(mm, MM_ANONPAGES) == 0) {
|
||||
if (type == RECLAIM_ALL)
|
||||
@ -1947,13 +1946,15 @@ static ssize_t reclaim_write(struct file *file, const char __user *buf,
|
||||
else
|
||||
break;
|
||||
}
|
||||
reclaim_walk.pmd_entry = reclaim_pte_range;
|
||||
walk_page_range(mm, vma->vm_start, vma->vm_end,
|
||||
&reclaim_walk_ops, vma);
|
||||
} else {
|
||||
reclaim_walk.pmd_entry = deactivate_pte_range;
|
||||
const struct mm_walk_ops reclaim_walk_ops = {
|
||||
.pmd_entry = deactivate_pte_range,
|
||||
};
|
||||
walk_page_range(mm, vma->vm_start, vma->vm_end,
|
||||
&reclaim_walk_ops, vma);
|
||||
}
|
||||
|
||||
walk_page_range(vma->vm_start, vma->vm_end,
|
||||
&reclaim_walk);
|
||||
}
|
||||
flush_tlb_mm(mm);
|
||||
up_read(&mm->mmap_sem);
|
||||
|
Loading…
Reference in New Issue
Block a user