Greg Thelen
484ebb3b8c
memcg: make mem_cgroup_read_stat() unsigned
...
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.
This could confuse dirty throttling.
- 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.
[akpm@linux-foundation.org: fix old typo while we're in there]
Signed-off-by: Greg Thelen <gthelen@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: <stable@vger.kernel.org> [4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-10-01 21:42:35 -04:00
..
2015-09-17 21:16:07 -07:00
2015-09-10 18:56:14 -07:00
2014-10-29 16:33:15 -07:00
2015-09-08 15:35:28 -07:00
2015-04-14 16:49:03 -07:00
2015-07-17 16:39:54 -07:00
2015-06-24 17:49:44 -07:00
2015-08-14 15:56:32 -07:00
2015-09-08 15:35:28 -07:00
2014-12-13 12:42:48 -08:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-09-11 15:21:34 -07:00
2015-06-02 08:33:35 -06:00
2015-09-08 15:35:28 -07:00
2015-08-16 13:02:47 -03:00
2015-06-24 17:49:45 -07:00
2015-09-04 16:54:41 -07:00
2014-08-06 18:01:22 -07:00
2015-09-10 13:29:01 -07:00
2015-02-11 17:06:02 -08:00
2015-10-01 21:42:35 -04:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-02-10 14:30:31 -08:00
2015-09-11 16:42:39 -07:00
2015-01-08 15:10:52 -08:00
2014-10-09 22:25:50 -04:00
2014-06-06 16:08:18 -07:00
2015-09-10 13:29:01 -07:00
2015-04-15 16:35:18 -07:00
2015-09-08 15:35:28 -07:00
2015-08-31 12:36:10 -07:00
2015-09-08 15:35:28 -07:00
2015-09-11 16:42:39 -07:00
2015-09-08 15:35:28 -07:00
2015-10-01 21:42:35 -04:00
2015-09-08 14:35:59 -07:00
2015-09-10 13:29:01 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2015-10-01 21:42:35 -04:00
2015-02-11 17:06:06 -08:00
2015-09-04 16:54:41 -07:00
2015-06-30 19:44:56 -07:00
2015-09-22 15:09:53 -07:00
2014-02-21 08:50:17 +01:00
2015-09-10 13:29:01 -07:00
2015-02-11 17:06:02 -08:00
2015-09-04 16:54:41 -07:00
2015-09-04 16:54:41 -07:00
2015-02-10 14:30:31 -08:00
2015-06-30 19:44:55 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 17:52:23 -07:00
2015-02-11 17:06:02 -08:00
2015-09-10 13:29:01 -07:00
2015-09-10 13:29:01 -07:00
2015-08-13 12:32:00 -06:00
2015-09-08 15:35:28 -07:00
2015-07-17 16:39:54 -07:00
2015-09-10 18:56:14 -07:00
2015-03-25 16:20:30 -07:00
2014-09-02 14:46:05 -04:00
2014-09-02 14:46:02 -04:00
2015-07-21 11:31:00 -04:00
2015-06-24 17:49:44 -07:00
2015-04-11 22:27:12 -04:00
2015-06-02 08:33:35 -06:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2015-10-01 21:42:35 -04:00
2015-09-04 16:54:41 -07:00
2015-09-08 15:35:28 -07:00
2015-09-08 15:35:28 -07:00
2014-01-21 16:19:47 -08:00
2014-04-07 16:35:54 -07:00
2014-12-10 17:41:09 -08:00
2015-09-08 15:35:28 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-06-02 08:33:33 -06:00
2015-09-04 16:54:41 -07:00
2015-04-15 16:35:19 -07:00
2014-12-13 12:42:48 -08:00
2015-04-15 16:35:18 -07:00
2014-12-02 17:32:07 -08:00
2015-09-22 15:09:53 -07:00
2015-02-11 17:06:07 -08:00
2015-02-12 18:54:10 -08:00
2015-09-08 15:35:28 -07:00
2015-09-10 13:29:01 -07:00
2015-09-08 15:35:28 -07:00
2015-09-10 13:29:01 -07:00