patch-2.3.16 linux/include/linux/swap.h
Next file: linux/include/linux/sysctl.h
Previous file: linux/include/linux/serial_reg.h
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Tue Aug 31 16:11:57 1999
- Orig file:
v2.3.15/linux/include/linux/swap.h
- Orig date:
Thu Aug 26 13:05:41 1999
diff -u --recursive --new-file v2.3.15/linux/include/linux/swap.h linux/include/linux/swap.h
@@ -64,6 +64,8 @@
extern int nr_swap_pages;
extern int nr_free_pages;
+extern int nr_lru_pages;
+extern struct list_head lru_cache;
extern atomic_t nr_async_pages;
extern struct inode swapper_inode;
extern atomic_t page_cache_size;
@@ -157,10 +159,29 @@
count = page_count(page);
if (PageSwapCache(page))
count += swap_count(page->offset) - 2;
- if (PageFreeAfter(page))
- count--;
return count > 1;
}
+
+extern spinlock_t pagemap_lru_lock;
+
+/*
+ * Helper macros for lru_pages handling.
+ */
+#define lru_cache_add(page) \
+do { \
+ spin_lock(&pagemap_lru_lock); \
+ list_add(&(page)->lru, &lru_cache); \
+ nr_lru_pages++; \
+ spin_unlock(&pagemap_lru_lock); \
+} while (0)
+
+#define lru_cache_del(page) \
+do { \
+ spin_lock(&pagemap_lru_lock); \
+ list_del(&(page)->lru); \
+ nr_lru_pages--; \
+ spin_unlock(&pagemap_lru_lock); \
+} while (0)
#endif /* __KERNEL__*/
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)