]> err.no Git - linux-2.6/blobdiff - include/linux/mmzone.h
Merge mulgrave-w:git/linux-2.6
[linux-2.6] / include / linux / mmzone.h
index 2dbeec1d2874fe96a8537d523e4e84276931f660..f45163c528e860066f0d3e70dab78b27632c9340 100644 (file)
@@ -57,6 +57,14 @@ enum zone_stat_item {
        NR_WRITEBACK,
        NR_UNSTABLE_NFS,        /* NFS unstable pages */
        NR_BOUNCE,
+#ifdef CONFIG_NUMA
+       NUMA_HIT,               /* allocated in intended node */
+       NUMA_MISS,              /* allocated in non intended node */
+       NUMA_FOREIGN,           /* was intended here, hit elsewhere */
+       NUMA_INTERLEAVE_HIT,    /* interleaver preferred this zone */
+       NUMA_LOCAL,             /* allocation from local node */
+       NUMA_OTHER,             /* allocation from other node */
+#endif
        NR_VM_ZONE_STAT_ITEMS };
 
 struct per_cpu_pages {
@@ -69,17 +77,9 @@ struct per_cpu_pages {
 struct per_cpu_pageset {
        struct per_cpu_pages pcp[2];    /* 0: hot.  1: cold */
 #ifdef CONFIG_SMP
+       s8 stat_threshold;
        s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS];
 #endif
-
-#ifdef CONFIG_NUMA
-       unsigned long numa_hit;         /* allocated in intended node */
-       unsigned long numa_miss;        /* allocated in non intended node */
-       unsigned long numa_foreign;     /* was intended here, hit elsewhere */
-       unsigned long interleave_hit;   /* interleaver prefered this zone */
-       unsigned long local_node;       /* allocation from local node */
-       unsigned long other_node;       /* allocation from other node */
-#endif
 } ____cacheline_aligned_in_smp;
 
 #ifdef CONFIG_NUMA
@@ -151,6 +151,10 @@ struct zone {
        unsigned long           lowmem_reserve[MAX_NR_ZONES];
 
 #ifdef CONFIG_NUMA
+       /*
+        * zone reclaim becomes active if more unmapped pages exist.
+        */
+       unsigned long           min_unmapped_ratio;
        struct per_cpu_pageset  *pageset[NR_CPUS];
 #else
        struct per_cpu_pageset  pageset[NR_CPUS];
@@ -415,6 +419,8 @@ int lowmem_reserve_ratio_sysctl_handler(struct ctl_table *, int, struct file *,
                                        void __user *, size_t *, loff_t *);
 int percpu_pagelist_fraction_sysctl_handler(struct ctl_table *, int, struct file *,
                                        void __user *, size_t *, loff_t *);
+int sysctl_min_unmapped_ratio_sysctl_handler(struct ctl_table *, int,
+                       struct file *, void __user *, size_t *, loff_t *);
 
 #include <linux/topology.h>
 /* Returns the number of the current Node. */