mm: fix NUMA accounting in numastat.txt
Minchan Kim [Tue, 22 Sep 2009 00:03:21 +0000 (17:03 -0700)]
In Documentation/numastat.txt, it confused me.  For example, there are
nodes [0,1] in system.

barrios:~$ cat /proc/zoneinfo | egrep 'numa|zone'
Node 0, zone DMA
numa_hit 33226
numa_miss 1739
numa_foreign 27978
Node 1, zone DMA
numa_hit 307
numa_miss 46900
numa_foreign 0

1) In node 0,  NUMA_MISS means it wanted to allocate page
in node 1 but ended up with page in node 0

2) In node 0, NUMA_FOREIGN means it wanted to allocate page
in node 0 but ended up with page from Node 1.

But now, numastat explains it oppositely about (MISS, FOREIGN).
Let's fix up with viewpoint of zone.

Signed-off-by: Minchan Kim <>
Cc: KAMEZAWA Hiroyuki <>
Acked-by: Christoph Lameter <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>


index 80133ac..9fcc9a6 100644 (file)
@@ -7,10 +7,10 @@ All units are pages. Hugepages have separate counters.
 numa_hit                       A process wanted to allocate memory from this node,
                                        and succeeded.
-numa_miss                      A process wanted to allocate memory from this node,
-                                       but ended up with memory from another.
-numa_foreign           A process wanted to allocate on another node,
-                                   but ended up with memory from this one.
+numa_miss                      A process wanted to allocate memory from another node,
+                                       but ended up with memory from this node.
+numa_foreign           A process wanted to allocate on this node,
+                                   but ended up with memory from another one.
 local_node                     A process ran on this node and got memory from it.
 other_node                     A process ran on this node and got memory from another node.
 interleave_hit                 Interleaving wanted to allocate from this node