per-zone and reclaim enhancements for memory controller: per-zone active inactive...
authorKAMEZAWA Hiroyuki <>
Thu, 7 Feb 2008 08:14:31 +0000 (00:14 -0800)
committerLinus Torvalds <>
Thu, 7 Feb 2008 16:42:21 +0000 (08:42 -0800)
per-zone and reclaim enhancements for memory controller: per-zone active inactive counter

This patch adds per-zone status in memory cgroup.  These values are often read
(as per-zone value) by page reclaiming.

In current design, per-zone stat is just a unsigned long value and not an
atomic value because they are modified only under lru_lock.  (So, atomic_ops
is not necessary.)

This patch adds ACTIVE and INACTIVE per-zone status values.

For handling per-zone status, this patch adds
  struct mem_cgroup_per_zone {
and some helper functions. This will be useful to add per-zone objects
in mem_cgroup.

This patch turns memory controller's early_init to be 0 for calling
kmalloc() in initialization.

Acked-by: Balbir Singh <>
Signed-off-by: KAMEZAWA Hiroyuki <>
Cc: "Eric W. Biederman" <>
Cc: David Rientjes <>
Cc: Herbert Poetzl <>
Cc: Kirill Korotaev <>
Cc: Nick Piggin <>
Cc: Paul Menage <>
Cc: Pavel Emelianov <>
Cc: Peter Zijlstra <>
Cc: Vaidyanathan Srinivasan <>
Cc: Rik van Riel <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>