2005-12-20 08:53:54

by Yasunori Goto

[permalink] [raw]
Subject: [Patch] New zone ZONE_EASY_RECLAIM take 4. (define ZONE_EASY_RECLAIM)[2/8]

This defines new zone ZONE_EASY_RECLAIM.
ZONES_SHIFT becomes 3.
And this patch add member of sysctl_lowmem_reserve_ratio[].


take3 -> take 4:
fixed number of index of sysctl_lowmem_reserve_ratio[].
take 2 -> take 3:
add sysctl_lowmem_reserve_ratio[].


Signed-off-by: Yasunori Goto <[email protected]>

Index: zone_reclaim/include/linux/mmzone.h
===================================================================
--- zone_reclaim.orig/include/linux/mmzone.h 2005-12-16 11:28:17.000000000 +0900
+++ zone_reclaim/include/linux/mmzone.h 2005-12-16 11:28:18.000000000 +0900
@@ -73,9 +73,10 @@ struct per_cpu_pageset {
#define ZONE_DMA32 1
#define ZONE_NORMAL 2
#define ZONE_HIGHMEM 3
+#define ZONE_EASY_RECLAIM 4

-#define MAX_NR_ZONES 4 /* Sync this with ZONES_SHIFT */
-#define ZONES_SHIFT 2 /* ceil(log2(MAX_NR_ZONES)) */
+#define MAX_NR_ZONES 5 /* Sync this with ZONES_SHIFT */
+#define ZONES_SHIFT 3 /* ceil(log2(MAX_NR_ZONES)) */


/*
Index: zone_reclaim/mm/page_alloc.c
===================================================================
--- zone_reclaim.orig/mm/page_alloc.c 2005-12-16 11:28:17.000000000 +0900
+++ zone_reclaim/mm/page_alloc.c 2005-12-16 11:40:33.000000000 +0900
@@ -68,7 +68,7 @@ static void fastcall free_hot_cold_page(
* TBD: should special case ZONE_DMA32 machines here - in those we normally
* don't need any ZONE_NORMAL reservation
*/
-int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES-1] = { 256, 256, 32 };
+int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES-1] = { 256, 256, 32 ,32};

EXPORT_SYMBOL(totalram_pages);

@@ -79,7 +79,7 @@ EXPORT_SYMBOL(totalram_pages);
struct zone *zone_table[1 << ZONETABLE_SHIFT] __read_mostly;
EXPORT_SYMBOL(zone_table);

-static char *zone_names[MAX_NR_ZONES] = { "DMA", "DMA32", "Normal", "HighMem" };
+static char *zone_names[MAX_NR_ZONES] = { "DMA", "DMA32", "Normal", "HighMem", "Easy Reclaim"};
int min_free_kbytes = 1024;

unsigned long __initdata nr_kernel_pages;

--
Yasunori Goto