On Mon, Jun 30, 2014 at 03:20:16PM +0300, Kirill A. Shutemov wrote: > On Fri, Jun 20, 2014 at 04:11:35PM -0400, Naoya Horiguchi wrote: > > pagewalk.c can handle vma in itself, so we don't have to pass vma via > > walk->private. And both of mem_cgroup_count_precharge() and > > mem_cgroup_move_charge() walk over all vmas (not interested in outside vma,) > > so using walk_page_vma() is preferable. > > > > Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> > > My first thought was to suggest walk_page_range(0, -1, &walk) instead > since we walk over all vmas. But walk_page_range() uses find_vma() on each > iteration, which is expensive. > Is there a reason why we cannot use vma->vm_next in walk_page_range()? Right, we can use vma->vm_next. The old code uses find_vma() because addr can jump to the next pgd boundary, but that doesn't happen with this patch, so using vma->vm_next is fine. Thanks, Naoya Horiguchi -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>