Skip to content

Commit

Permalink
[PATCH] reduce MAX_NR_ZONES: remove display of counters for unconfigu…
Browse files Browse the repository at this point in the history
…red zones

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>
  • Loading branch information
Christoph Lameter authored and Linus Torvalds committed Sep 26, 2006
1 parent e53ef38 commit 27bf71c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 26 deletions.
3 changes: 1 addition & 2 deletions arch/s390/appldata/appldata_mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];

Expand Down
14 changes: 13 additions & 1 deletion include/linux/vmstat.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,19 @@
* 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),
Expand Down
43 changes: 20 additions & 23 deletions mm/vmstat.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -462,10 +477,7 @@ static char *vmstat_text[] = {
"pswpin",
"pswpout",

"pgalloc_dma",
"pgalloc_dma32",
"pgalloc_normal",
"pgalloc_high",
TEXTS_FOR_ZONES("pgalloc")

"pgfree",
"pgactivate",
Expand All @@ -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",
Expand Down

0 comments on commit 27bf71c

Please sign in to comment.