On Mon 14-05-12 20:00:50, Johannes Weiner wrote: > The counter of currently swapped out pages in a memcg (hierarchy) is > sitting amidst ever-increasing event counters. Move this item to the > other counters that reflect current state rather than history. > > This technically breaks the kernel ABI, but hopefully nobody relies on > the order of items in memory.stat. We did that already in 456f998e. Nobody complained AFAIR. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> > --- > mm/memcontrol.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 546e7db..3ee63f6 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -4257,9 +4257,9 @@ enum { > MCS_RSS, > MCS_FILE_MAPPED, > MCS_MLOCK, > + MCS_SWAP, > MCS_PGPGIN, > MCS_PGPGOUT, > - MCS_SWAP, > MCS_PGFAULT, > MCS_PGMAJFAULT, > MCS_INACTIVE_ANON, > @@ -4279,9 +4279,9 @@ static const char *memcg_stat_strings[NR_MCS_STAT] = { > "rss", > "mapped_file", > "mlock", > + "swap", > "pgpgin", > "pgpgout", > - "swap", > "pgfault", > "pgmajfault", > "inactive_anon", > @@ -4306,14 +4306,14 @@ mem_cgroup_get_local_stat(struct mem_cgroup *memcg, struct mcs_total_stat *s) > s->stat[MCS_FILE_MAPPED] += val * PAGE_SIZE; > val = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_MLOCK); > s->stat[MCS_MLOCK] += val * PAGE_SIZE; > - val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGIN); > - s->stat[MCS_PGPGIN] += val; > - val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGOUT); > - s->stat[MCS_PGPGOUT] += val; > if (do_swap_account) { > val = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_SWAPOUT); > s->stat[MCS_SWAP] += val * PAGE_SIZE; > } > + val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGIN); > + s->stat[MCS_PGPGIN] += val; > + val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGOUT); > + s->stat[MCS_PGPGOUT] += val; > val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGFAULT); > s->stat[MCS_PGFAULT] += val; > val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGMAJFAULT); > -- > 1.7.10.1 > -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>