Re: [PATCH] memcg: make mem_cgroup_read_stat() unsigned

From: Andrew Morton
Date: Tue Sep 22 2015 - 18:24:29 EST


On Tue, 22 Sep 2015 15:16:32 -0700 Greg Thelen <gthelen@xxxxxxxxxx> wrote:

> mem_cgroup_read_stat() returns a page count by summing per cpu page
> counters. The summing is racy wrt. updates, so a transient negative sum
> is possible. Callers don't want negative values:
> - mem_cgroup_wb_stats() doesn't want negative nr_dirty or nr_writeback.
> - oom reports and memory.stat shouldn't show confusing negative usage.
> - tree_usage() already avoids negatives.
>
> Avoid returning negative page counts from mem_cgroup_read_stat() and
> convert it to unsigned.

Someone please remind me why this code doesn't use the existing
percpu_counter library which solved this problem years ago.

> for_each_possible_cpu(cpu)

and which doesn't iterate across offlined CPUs.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/