Re: [PATCH 2/3] pagewalk: separate function pointers from iterator data

Christoph Hellwig
2019-08-29T07:00:08Z

On Wed, Aug 28, 2019 at 03:05:19PM +0000, Jason Gunthorpe wrote:
> > @@ -1217,7 +1222,8 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf,
> > 0, NULL, mm, 0, -1UL);
> > mmu_notifier_invalidate_range_start(&range);
> > }
> > - walk_page_range(0, mm->highest_vm_end, &clear_refs_walk);
> > + walk_page_range(mm, 0, mm->highest_vm_end, &clear_refs_walk_ops,
> > + &cp);
>
> Is the difference between TASK_SIZE and 'highest_vm_end' deliberate,
> or should we add a 'walk_all_pages'() mini helper for this? I see most
> of the users are using one or the other variant.

I have no idea to be honest. A walk_all_pages-like helper doesn't
seem like a bad idea, but the priority seems lower than cleaning up
all the callers using walk_page_range on a vma..