Messages in this thread | | | Date | Thu, 10 Jul 2014 09:27:17 -0400 | From | Naoya Horiguchi <> | Subject | Re: [PATCH v4 05/13] clear_refs: remove clear_refs_private->vma and introduce clear_refs_test_walk() |
| |
On Thu, Jul 10, 2014 at 02:32:19PM +0300, Kirill A. Shutemov wrote: > On Tue, Jul 01, 2014 at 01:07:23PM -0400, Naoya Horiguchi wrote: > > @@ -822,38 +844,14 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf, > > }; > > struct mm_walk clear_refs_walk = { > > .pmd_entry = clear_refs_pte_range, > > + .test_walk = clear_refs_test_walk, > > .mm = mm, > > .private = &cp, > > }; > > down_read(&mm->mmap_sem); > > if (type == CLEAR_REFS_SOFT_DIRTY) > > mmu_notifier_invalidate_range_start(mm, 0, -1); > > - for (vma = mm->mmap; vma; vma = vma->vm_next) { > > - cp.vma = vma; > > - if (is_vm_hugetlb_page(vma)) > > - continue; > > - /* > > - * Writing 1 to /proc/pid/clear_refs affects all pages. > > - * > > - * Writing 2 to /proc/pid/clear_refs only affects > > - * Anonymous pages. > > - * > > - * Writing 3 to /proc/pid/clear_refs only affects file > > - * mapped pages. > > - * > > - * Writing 4 to /proc/pid/clear_refs affects all pages. > > - */ > > - if (type == CLEAR_REFS_ANON && vma->vm_file) > > - continue; > > - if (type == CLEAR_REFS_MAPPED && !vma->vm_file) > > - continue; > > - if (type == CLEAR_REFS_SOFT_DIRTY) { > > - if (vma->vm_flags & VM_SOFTDIRTY) > > - vma->vm_flags &= ~VM_SOFTDIRTY; > > - } > > - walk_page_range(vma->vm_start, vma->vm_end, > > - &clear_refs_walk); > > - } > > + walk_page_range(0, ~0UL, &clear_refs_walk); > > 'vma' variable is now unused in the clear_refs_write().
Yes, will remove it.
Naoya
| |