diff options
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r-- | include/linux/mmzone.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 428328a05fa1..156e18f3919b 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -81,8 +81,9 @@ struct zone_padding { | |||
81 | enum zone_stat_item { | 81 | enum zone_stat_item { |
82 | /* First 128 byte cacheline (assuming 64 bit words) */ | 82 | /* First 128 byte cacheline (assuming 64 bit words) */ |
83 | NR_FREE_PAGES, | 83 | NR_FREE_PAGES, |
84 | NR_INACTIVE, | 84 | NR_LRU_BASE, |
85 | NR_ACTIVE, | 85 | NR_INACTIVE = NR_LRU_BASE, /* must match order of LRU_[IN]ACTIVE */ |
86 | NR_ACTIVE, /* " " " " " */ | ||
86 | NR_ANON_PAGES, /* Mapped anonymous pages */ | 87 | NR_ANON_PAGES, /* Mapped anonymous pages */ |
87 | NR_FILE_MAPPED, /* pagecache pages mapped into pagetables. | 88 | NR_FILE_MAPPED, /* pagecache pages mapped into pagetables. |
88 | only modified from process context */ | 89 | only modified from process context */ |
@@ -107,6 +108,19 @@ enum zone_stat_item { | |||
107 | #endif | 108 | #endif |
108 | NR_VM_ZONE_STAT_ITEMS }; | 109 | NR_VM_ZONE_STAT_ITEMS }; |
109 | 110 | ||
111 | enum lru_list { | ||
112 | LRU_BASE, | ||
113 | LRU_INACTIVE=LRU_BASE, /* must match order of NR_[IN]ACTIVE */ | ||
114 | LRU_ACTIVE, /* " " " " " */ | ||
115 | NR_LRU_LISTS }; | ||
116 | |||
117 | #define for_each_lru(l) for (l = 0; l < NR_LRU_LISTS; l++) | ||
118 | |||
119 | static inline int is_active_lru(enum lru_list l) | ||
120 | { | ||
121 | return (l == LRU_ACTIVE); | ||
122 | } | ||
123 | |||
110 | struct per_cpu_pages { | 124 | struct per_cpu_pages { |
111 | int count; /* number of pages in the list */ | 125 | int count; /* number of pages in the list */ |
112 | int high; /* high watermark, emptying needed */ | 126 | int high; /* high watermark, emptying needed */ |
@@ -251,10 +265,10 @@ struct zone { | |||
251 | 265 | ||
252 | /* Fields commonly accessed by the page reclaim scanner */ | 266 | /* Fields commonly accessed by the page reclaim scanner */ |
253 | spinlock_t lru_lock; | 267 | spinlock_t lru_lock; |
254 | struct list_head active_list; | 268 | struct { |
255 | struct list_head inactive_list; | 269 | struct list_head list; |
256 | unsigned long nr_scan_active; | 270 | unsigned long nr_scan; |
257 | unsigned long nr_scan_inactive; | 271 | } lru[NR_LRU_LISTS]; |
258 | unsigned long pages_scanned; /* since last reclaim */ | 272 | unsigned long pages_scanned; /* since last reclaim */ |
259 | unsigned long flags; /* zone flags, see below */ | 273 | unsigned long flags; /* zone flags, see below */ |
260 | 274 | ||