[PATCH] ZVC: add __inc_zone_state for !SMP configuration
Christoph Lameter [Mon, 10 Jul 2006 11:44:30 +0000 (04:44 -0700)]
It turns out that there is a way to build a kernel with NUMA and no SMP.
In that case we are missing one definition __inc_zone_state.

Provide that missing __inc_zone_state.

(akpm: NUMA && !SMP sounds odd, but I am told "But there is the concept of
cpuless nodes.  A NUMA system without SMP has a single processor but multiple
memory nodes.  This used to work before on IA64 (wasn't aware of it, never seen
anyone with this kind of thing).")

Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

include/linux/vmstat.h

index d673b7b..1ab806c 100644 (file)
@@ -186,11 +186,16 @@ static inline void __mod_zone_page_state(struct zone *zone,
        zone_page_state_add(delta, zone, item);
 }
 
+static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
+{
+       atomic_long_inc(&zone->vm_stat[item]);
+       atomic_long_inc(&vm_stat[item]);
+}
+
 static inline void __inc_zone_page_state(struct page *page,
                        enum zone_stat_item item)
 {
-       atomic_long_inc(&page_zone(page)->vm_stat[item]);
-       atomic_long_inc(&vm_stat[item]);
+       __inc_zone_state(page_zone(page), item);
 }
 
 static inline void __dec_zone_page_state(struct page *page,