mm: fix NUMA accounting in numastat.txt
authorMinchan Kim <minchan.kim@gmail.com>
Tue, 22 Sep 2009 00:03:21 +0000 (17:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Sep 2009 14:17:39 +0000 (07:17 -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 <minchan.kim@gmail.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/numastat.txt

index 80133ace1eb277e28fa0c1b0d95007caf205dd30..9fcc9a608dc04789c1a0831db06998561dffbec8 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