linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* zoned VM counters: Drop VM_STAT macros and vm_stat_t
@ 2006-06-09 19:03 Christoph Lameter
  0 siblings, 0 replies; only message in thread
From: Christoph Lameter @ 2006-06-09 19:03 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, linux-mm, hugh, ak, npiggin

Seems that they are not needed since UP has no special needs.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.17-rc6-mm1/mm/page_alloc.c
===================================================================
--- linux-2.6.17-rc6-mm1.orig/mm/page_alloc.c	2006-06-09 11:41:32.525809812 -0700
+++ linux-2.6.17-rc6-mm1/mm/page_alloc.c	2006-06-09 12:00:00.272620254 -0700
@@ -639,13 +639,13 @@ char *vm_stat_item_descr[NR_STAT_ITEMS] 
  *
  * vm_stat contains the global counters
  */
-vm_stat_t vm_stat[NR_STAT_ITEMS];
+atomic_long_t vm_stat[NR_STAT_ITEMS];
 
 static inline void zone_page_state_add(long x, struct zone *zone,
 				 enum zone_stat_item item)
 {
-	VM_STAT_ADD(zone->vm_stat[item], x);
-	VM_STAT_ADD(vm_stat[item], x);
+	atomic_long_add(x, &zone->vm_stat[item]);
+	atomic_long_add(x, &vm_stat[item]);
 }
 
 #ifdef CONFIG_SMP
@@ -899,7 +899,7 @@ unsigned long node_page_state(int node, 
 	long v = 0;
 
 	for (i = 0; i < MAX_NR_ZONES; i++)
-		v += VM_STAT_GET(zones[i].vm_stat[item]);
+		v += atomic_long_read(&zones[i].vm_stat[item]);
 	if (v < 0)
 		v = 0;
 	return v;
Index: linux-2.6.17-rc6-mm1/include/linux/page-flags.h
===================================================================
--- linux-2.6.17-rc6-mm1.orig/include/linux/page-flags.h	2006-06-09 10:30:52.400790734 -0700
+++ linux-2.6.17-rc6-mm1/include/linux/page-flags.h	2006-06-09 11:47:36.275737668 -0700
@@ -223,11 +223,11 @@ extern void __mod_page_state_offset(unsi
 /*
  * Zone based accounting with per cpu differentials.
  */
-extern vm_stat_t vm_stat[NR_STAT_ITEMS];
+extern atomic_long_t vm_stat[NR_STAT_ITEMS];
 
 static inline unsigned long global_page_state(enum zone_stat_item item)
 {
-	long x = VM_STAT_GET(vm_stat[item]);
+	long x = atomic_long_read(&vm_stat[item]);
 #ifdef CONFIG_SMP
 	if (x < 0)
 		x = 0;
@@ -238,7 +238,7 @@ static inline unsigned long global_page_
 static inline unsigned long zone_page_state(struct zone *zone,
 					enum zone_stat_item item)
 {
-	long x = VM_STAT_GET(zone->vm_stat[item]);
+	long x = atomic_long_read(&zone->vm_stat[item]);
 #ifdef CONFIG_SMP
 	if (x < 0)
 		x = 0;
Index: linux-2.6.17-rc6-mm1/include/linux/mmzone.h
===================================================================
--- linux-2.6.17-rc6-mm1.orig/include/linux/mmzone.h	2006-06-09 11:26:59.388494756 -0700
+++ linux-2.6.17-rc6-mm1/include/linux/mmzone.h	2006-06-09 11:45:11.299366735 -0700
@@ -59,16 +59,6 @@ enum zone_stat_item {
 	NR_BOUNCE,
 	NR_STAT_ITEMS };
 
-#ifdef CONFIG_SMP
-typedef atomic_long_t vm_stat_t;
-#define VM_STAT_GET(x) atomic_long_read(&(x))
-#define VM_STAT_ADD(x,v) atomic_long_add(v, &(x))
-#else
-typedef unsigned long vm_stat_t;
-#define VM_STAT_GET(x) (x)
-#define VM_STAT_ADD(x,v) (x) += (v)
-#endif
-
 struct per_cpu_pages {
 	int count;		/* number of pages in the list */
 	int high;		/* high watermark, emptying needed */
@@ -198,7 +188,7 @@ struct zone {
 	atomic_t		reclaim_in_progress;
 
 	/* Zone statistics */
-	vm_stat_t		vm_stat[NR_STAT_ITEMS];
+	atomic_long_t		vm_stat[NR_STAT_ITEMS];
 
 	/*
 	 * prev_priority holds the scanning priority for this zone.  It is

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-06-09 19:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-09 19:03 zoned VM counters: Drop VM_STAT macros and vm_stat_t Christoph Lameter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox