(2013/03/05 22:10), Glauber Costa wrote: > We are using nocpu_base to accumulate charges on the main counters > during cpu hotplug. I have a similar need, which is transferring charges > to the root cgroup when lazily enabling memcg. Because system wide > information is not kept per-cpu, it is hard to distribute it. This field > works well for this. So we need to make it available for all usages, not > only hotplug cases. > > Signed-off-by: Glauber Costa <glommer@xxxxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxx> > Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> Acked-by: KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx> Hmm..comments on nocpu_base definition will be updated in later patch ? > --- > mm/memcontrol.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 669d16a..b8b363f 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -921,11 +921,11 @@ static long mem_cgroup_read_stat(struct mem_cgroup *memcg, > get_online_cpus(); > for_each_online_cpu(cpu) > val += per_cpu(memcg->stat->count[idx], cpu); > -#ifdef CONFIG_HOTPLUG_CPU > + > spin_lock(&memcg->pcp_counter_lock); > val += memcg->nocpu_base.count[idx]; > spin_unlock(&memcg->pcp_counter_lock); > -#endif > + > put_online_cpus(); > return val; > } > @@ -945,11 +945,11 @@ static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg, > > for_each_online_cpu(cpu) > val += per_cpu(memcg->stat->events[idx], cpu); > -#ifdef CONFIG_HOTPLUG_CPU > + > spin_lock(&memcg->pcp_counter_lock); > val += memcg->nocpu_base.events[idx]; > spin_unlock(&memcg->pcp_counter_lock); > -#endif > + > return val; > } > > -- 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>