On Wed 01-08-18 18:48:35, Li RongQing wrote: > this is a preparation to optimise a full writeback > when reclaim memory Please do not add unused functions. This makes review harder without a good reason. Besides that we already have mem_cgroup_wb_stats. Why cannot you reuse it? > Signed-off-by: Zhang Yu <zhangyu31@xxxxxxxxx> > Signed-off-by: Li RongQing <lirongqing@xxxxxxxxx> > --- > include/linux/memcontrol.h | 2 +- > mm/memcontrol.c | 6 ++++++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > index 6c6fb116e925..58e29555ac81 100644 > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -1141,7 +1141,7 @@ struct wb_domain *mem_cgroup_wb_domain(struct bdi_writeback *wb); > void mem_cgroup_wb_stats(struct bdi_writeback *wb, unsigned long *pfilepages, > unsigned long *pheadroom, unsigned long *pdirty, > unsigned long *pwriteback); > - > +unsigned long mem_cgroup_wb_dirty_stats(struct bdi_writeback *wb); > #else /* CONFIG_CGROUP_WRITEBACK */ > > static inline struct wb_domain *mem_cgroup_wb_domain(struct bdi_writeback *wb) > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 8c0280b3143e..82d3061e91d1 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -3640,6 +3640,12 @@ void mem_cgroup_wb_stats(struct bdi_writeback *wb, unsigned long *pfilepages, > } > } > > +unsigned long mem_cgroup_wb_dirty_stats(struct bdi_writeback *wb) > +{ > + struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css); > + > + return memcg_page_state(memcg, NR_FILE_DIRTY); > +} > #else /* CONFIG_CGROUP_WRITEBACK */ > > static int memcg_wb_domain_init(struct mem_cgroup *memcg, gfp_t gfp) > -- > 2.16.2 -- Michal Hocko SUSE Labs