On Fri 07-02-14 12:04:19, Johannes Weiner wrote: > It used to disable preemption and run sanity checks but now it's only > taking a number out of one percpu counter and putting it into another. > Do this directly in the callsite and save the indirection. > > Signed-off-by: Johannes Weiner <han...@cmpxchg.org>
OK, why not. Acked-by: Michal Hocko <mho...@suse.cz> > --- > mm/memcontrol.c | 28 ++++++++++++---------------- > 1 file changed, 12 insertions(+), 16 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index befb3dd9d46c..639cf58b2643 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -3776,16 +3776,6 @@ void mem_cgroup_split_huge_fixup(struct page *head) > } > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > > -static void mem_cgroup_move_account_page_stat(struct mem_cgroup *from, > - struct mem_cgroup *to, > - unsigned int nr_pages, > - enum mem_cgroup_stat_index idx) > -{ > - /* Update stat data for mem_cgroup */ > - __this_cpu_sub(from->stat->count[idx], nr_pages); > - __this_cpu_add(to->stat->count[idx], nr_pages); > -} > - > /** > * mem_cgroup_move_account - move account of the page > * @page: the page > @@ -3831,13 +3821,19 @@ static int mem_cgroup_move_account(struct page *page, > > move_lock_mem_cgroup(from, &flags); > > - if (!anon && page_mapped(page)) > - mem_cgroup_move_account_page_stat(from, to, nr_pages, > - MEM_CGROUP_STAT_FILE_MAPPED); > + if (!anon && page_mapped(page)) { > + __this_cpu_sub(from->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], > + nr_pages); > + __this_cpu_add(to->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], > + nr_pages); > + } > > - if (PageWriteback(page)) > - mem_cgroup_move_account_page_stat(from, to, nr_pages, > - MEM_CGROUP_STAT_WRITEBACK); > + if (PageWriteback(page)) { > + __this_cpu_sub(from->stat->count[MEM_CGROUP_STAT_WRITEBACK], > + nr_pages); > + __this_cpu_add(to->stat->count[MEM_CGROUP_STAT_WRITEBACK], > + nr_pages); > + } > > mem_cgroup_charge_statistics(from, page, anon, -nr_pages); > > -- > 1.8.5.3 > -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/