[Patch] New zone ZONE_EASY_RECLAIM take 4. (mod_page_state info)[7/8]

From: Yasunori Goto
Date: Tue Dec 20 2005 - 03:55:07 EST


This patch is add easy reclaim zone information for mod_page_state().

This is new patch at take 4.

Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx>


--
Index: zone_reclaim/include/linux/page-flags.h
===================================================================
--- zone_reclaim.orig/include/linux/page-flags.h 2005-12-15 19:48:30.000000000 +0900
+++ zone_reclaim/include/linux/page-flags.h 2005-12-15 21:01:09.000000000 +0900
@@ -109,7 +109,8 @@ struct page_state {
unsigned long pswpin; /* swap reads */
unsigned long pswpout; /* swap writes */

- unsigned long pgalloc_high; /* page allocations */
+ unsigned long pgalloc_easy_reclaim; /* page allocations */
+ unsigned long pgalloc_high;
unsigned long pgalloc_normal;
unsigned long pgalloc_dma32;
unsigned long pgalloc_dma;
@@ -121,22 +122,26 @@ struct page_state {
unsigned long pgfault; /* faults (major+minor) */
unsigned long pgmajfault; /* faults (major only) */

- unsigned long pgrefill_high; /* inspected in refill_inactive_zone */
+ unsigned long pgrefill_easy_reclaim;/* inspected in refill_inactive_zone */
+ unsigned long pgrefill_high;
unsigned long pgrefill_normal;
unsigned long pgrefill_dma32;
unsigned long pgrefill_dma;

- unsigned long pgsteal_high; /* total highmem pages reclaimed */
+ unsigned long pgsteal_easy_reclaim; /* total pages reclaimed */
+ unsigned long pgsteal_high;
unsigned long pgsteal_normal;
unsigned long pgsteal_dma32;
unsigned long pgsteal_dma;

- unsigned long pgscan_kswapd_high;/* total highmem pages scanned */
+ unsigned long pgscan_kswapd_easy_reclaim; /* total pages scanned */
+ unsigned long pgscan_kswapd_high;
unsigned long pgscan_kswapd_normal;
unsigned long pgscan_kswapd_dma32;
unsigned long pgscan_kswapd_dma;

- unsigned long pgscan_direct_high;/* total highmem pages scanned */
+ unsigned long pgscan_direct_easy_reclaim;/* total pages scanned */
+ unsigned long pgscan_direct_high;
unsigned long pgscan_direct_normal;
unsigned long pgscan_direct_dma32;
unsigned long pgscan_direct_dma;
@@ -183,7 +188,9 @@ extern void __mod_page_state_offset(unsi
#define state_zone_offset(zone, member) \
({ \
unsigned offset; \
- if (is_highmem(zone)) \
+ if (is_easy_reclaim(zone)) \
+ offset = offsetof(struct page_state, member##_easy_reclaim);\
+ else if (is_highmem(zone)) \
offset = offsetof(struct page_state, member##_high); \
else if (is_normal(zone)) \
offset = offsetof(struct page_state, member##_normal); \

--
Yasunori Goto


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/