Re: [PATCH 2/2] mm: Real pagecache iterators

From: Andrew Morton
Date: Wed Apr 27 2016 - 17:27:54 EST


On Thu, 31 Mar 2016 18:38:11 -0800 Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote:

> Introduce for_each_pagecache_page() and related macros, with the goal of
> replacing most/all uses of pagevec_lookup().
>
> For the most part this shouldn't be a functional change. The one functional
> difference with the new macros is that they now take an @end parameter, so we're
> able to avoid grabbing pages in __find_get_pages() that we'll never use.
>
> This patch only does some of the conversions, the ones I was able to easily test
> myself - the conversions are mechanical but tricky enough they generally warrent
> testing.
>
> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> ---
> fs/ext4/inode.c | 261 ++++++++++++++++++++----------------------------
> include/linux/pagevec.h | 67 ++++++++++++-
> mm/filemap.c | 76 +++++++++-----
> mm/page-writeback.c | 148 +++++++++++----------------
> mm/swap.c | 33 +-----
> mm/truncate.c | 259 +++++++++++++++++------------------------------
> 6 files changed, 380 insertions(+), 464 deletions(-)

hm, it's a lot of churn in sensitive areas for an 80 line saving. What
do others think?