On Mon, Jan 16, 2017 at 08:33:15PM +0100, Michal Hocko wrote: > From: Michal Hocko <mhocko@xxxxxxxx> > > lruvec_lru_size returns the full size of the LRU list while we sometimes > need a value reduced only to eligible zones (e.g. for lowmem requests). > inactive_list_is_low is one such user. Later patches will add more of > them. Add a new parameter to lruvec_lru_size and allow it filter out > zones which are not eligible for the given context. > > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> > --- > include/linux/mmzone.h | 2 +- > mm/vmscan.c | 88 ++++++++++++++++++++++++-------------------------- > mm/workingset.c | 2 +- > 3 files changed, 45 insertions(+), 47 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index d1d440cff60e..91f69aa0d581 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -780,7 +780,7 @@ static inline struct pglist_data *lruvec_pgdat(struct lruvec *lruvec) > #endif > } > > -extern unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru); > +extern unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx); > > #ifdef CONFIG_HAVE_MEMORY_PRESENT > void memory_present(int nid, unsigned long start, unsigned long end); > diff --git a/mm/vmscan.c b/mm/vmscan.c > index cf940af609fd..1cb0ebdef305 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -234,22 +234,38 @@ bool pgdat_reclaimable(struct pglist_data *pgdat) > pgdat_reclaimable_pages(pgdat) * 6; > } > > -unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru) > +/** lruvec_lru_size - Returns the number of pages on the given LRU list. minor: /* * lruvec_lru_size I don't have any preferance but just found. Otherwise, Acked-by: Minchan Kim <minchan@xxxxxxxxxx> -- 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>