[PATCH] reduce MAX_NR_ZONES: remove display of counters for unconfigured zones
authorChristoph Lameter <clameter@sgi.com>
Tue, 26 Sep 2006 06:31:15 +0000 (23:31 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Sep 2006 15:48:47 +0000 (08:48 -0700)
eventcounters: Do not display counters for zones that are not available on an
arch

Do not define or display counters for the DMA32 and the HIGHMEM zone if such
zones were not configured.

[akpm@osdl.org: s390 fix]
[heiko.carstens@de.ibm.com: s390 fix]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/appldata/appldata_mem.c
include/linux/vmstat.h
mm/vmstat.c

index ab3b0765a64e7f5d212d835b5e60f4e0ab0e28bb..8aea3698a77b84b466d56e3761370e083fa19461 100644 (file)
@@ -117,8 +117,7 @@ static void appldata_get_mem_data(void *data)
        mem_data->pgpgout    = ev[PGPGOUT] >> 1;
        mem_data->pswpin     = ev[PSWPIN];
        mem_data->pswpout    = ev[PSWPOUT];
-       mem_data->pgalloc    = ev[PGALLOC_HIGH] + ev[PGALLOC_NORMAL] +
-                              ev[PGALLOC_DMA];
+       mem_data->pgalloc    = ev[PGALLOC_NORMAL] + ev[PGALLOC_DMA];
        mem_data->pgfault    = ev[PGFAULT];
        mem_data->pgmajfault = ev[PGMAJFAULT];
 
index 9c6e62c56ec25a776cd644288409b15590ed6328..176c7f797339b2aa5d4bca59157b7181bcc5bd97 100644 (file)
  * generated will simply be the increment of a global address.
  */
 
-#define FOR_ALL_ZONES(x) x##_DMA, x##_DMA32, x##_NORMAL, x##_HIGH
+#ifdef CONFIG_ZONE_DMA32
+#define DMA32_ZONE(xx) xx##_DMA32,
+#else
+#define DMA32_ZONE(xx)
+#endif
+
+#ifdef CONFIG_HIGHMEM
+#define HIGHMEM_ZONE(xx) , xx##_HIGH
+#else
+#define HIGHMEM_ZONE(xx)
+#endif
+
+#define FOR_ALL_ZONES(xx) xx##_DMA, DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx)
 
 enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
                FOR_ALL_ZONES(PGALLOC),
index c1b5f4106b38d2c2f7c1ae56d9ba1c0f160bddcd..04a9093f649eb8ea7198bb082c4f5def3b8bd7b9 100644 (file)
@@ -435,6 +435,21 @@ struct seq_operations fragmentation_op = {
        .show   = frag_show,
 };
 
+#ifdef CONFIG_ZONE_DMA32
+#define TEXT_FOR_DMA32(xx) xx "_dma32",
+#else
+#define TEXT_FOR_DMA32(xx)
+#endif
+
+#ifdef CONFIG_HIGHMEM
+#define TEXT_FOR_HIGHMEM(xx) xx "_high",
+#else
+#define TEXT_FOR_HIGHMEM(xx)
+#endif
+
+#define TEXTS_FOR_ZONES(xx) xx "_dma", TEXT_FOR_DMA32(xx) xx "_normal", \
+                                       TEXT_FOR_HIGHMEM(xx)
+
 static char *vmstat_text[] = {
        /* Zoned VM counters */
        "nr_anon_pages",
@@ -462,10 +477,7 @@ static char *vmstat_text[] = {
        "pswpin",
        "pswpout",
 
-       "pgalloc_dma",
-       "pgalloc_dma32",
-       "pgalloc_normal",
-       "pgalloc_high",
+       TEXTS_FOR_ZONES("pgalloc")
 
        "pgfree",
        "pgactivate",
@@ -474,25 +486,10 @@ static char *vmstat_text[] = {
        "pgfault",
        "pgmajfault",
 
-       "pgrefill_dma",
-       "pgrefill_dma32",
-       "pgrefill_normal",
-       "pgrefill_high",
-
-       "pgsteal_dma",
-       "pgsteal_dma32",
-       "pgsteal_normal",
-       "pgsteal_high",
-
-       "pgscan_kswapd_dma",
-       "pgscan_kswapd_dma32",
-       "pgscan_kswapd_normal",
-       "pgscan_kswapd_high",
-
-       "pgscan_direct_dma",
-       "pgscan_direct_dma32",
-       "pgscan_direct_normal",
-       "pgscan_direct_high",
+       TEXTS_FOR_ZONES("pgrefill")
+       TEXTS_FOR_ZONES("pgsteal")
+       TEXTS_FOR_ZONES("pgscan_kswapd")
+       TEXTS_FOR_ZONES("pgscan_direct")
 
        "pginodesteal",
        "slabs_scanned",