aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmzone.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r--include/linux/mmzone.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index d6120fa69116..543f9e411563 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -46,6 +46,9 @@ struct zone_padding {
46#define ZONE_PADDING(name) 46#define ZONE_PADDING(name)
47#endif 47#endif
48 48
49enum zone_stat_item {
50 NR_VM_ZONE_STAT_ITEMS };
51
49struct per_cpu_pages { 52struct per_cpu_pages {
50 int count; /* number of pages in the list */ 53 int count; /* number of pages in the list */
51 int high; /* high watermark, emptying needed */ 54 int high; /* high watermark, emptying needed */
@@ -55,6 +58,10 @@ struct per_cpu_pages {
55 58
56struct per_cpu_pageset { 59struct per_cpu_pageset {
57 struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */ 60 struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */
61#ifdef CONFIG_SMP
62 s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS];
63#endif
64
58#ifdef CONFIG_NUMA 65#ifdef CONFIG_NUMA
59 unsigned long numa_hit; /* allocated in intended node */ 66 unsigned long numa_hit; /* allocated in intended node */
60 unsigned long numa_miss; /* allocated in non intended node */ 67 unsigned long numa_miss; /* allocated in non intended node */
@@ -165,6 +172,8 @@ struct zone {
165 /* A count of how many reclaimers are scanning this zone */ 172 /* A count of how many reclaimers are scanning this zone */
166 atomic_t reclaim_in_progress; 173 atomic_t reclaim_in_progress;
167 174
175 /* Zone statistics */
176 atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
168 /* 177 /*
169 * timestamp (in jiffies) of the last zone reclaim that did not 178 * timestamp (in jiffies) of the last zone reclaim that did not
170 * result in freeing of pages. This is used to avoid repeated scans 179 * result in freeing of pages. This is used to avoid repeated scans