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.h26
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 {
81enum zone_stat_item { 81enum 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
111enum 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
119static inline int is_active_lru(enum lru_list l)
120{
121 return (l == LRU_ACTIVE);
122}
123
110struct per_cpu_pages { 124struct 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