diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b04667848375..34a4c12d2675 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -205,17 +205,18 @@ static void __free_pages_ok(struct page *page, unsigned int order); | |||
205 | * TBD: should special case ZONE_DMA32 machines here - in those we normally | 205 | * TBD: should special case ZONE_DMA32 machines here - in those we normally |
206 | * don't need any ZONE_NORMAL reservation | 206 | * don't need any ZONE_NORMAL reservation |
207 | */ | 207 | */ |
208 | int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES-1] = { | 208 | int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES] = { |
209 | #ifdef CONFIG_ZONE_DMA | 209 | #ifdef CONFIG_ZONE_DMA |
210 | 256, | 210 | [ZONE_DMA] = 256, |
211 | #endif | 211 | #endif |
212 | #ifdef CONFIG_ZONE_DMA32 | 212 | #ifdef CONFIG_ZONE_DMA32 |
213 | 256, | 213 | [ZONE_DMA32] = 256, |
214 | #endif | 214 | #endif |
215 | [ZONE_NORMAL] = 32, | ||
215 | #ifdef CONFIG_HIGHMEM | 216 | #ifdef CONFIG_HIGHMEM |
216 | 32, | 217 | [ZONE_HIGHMEM] = 0, |
217 | #endif | 218 | #endif |
218 | 32, | 219 | [ZONE_MOVABLE] = 0, |
219 | }; | 220 | }; |
220 | 221 | ||
221 | EXPORT_SYMBOL(totalram_pages); | 222 | EXPORT_SYMBOL(totalram_pages); |
@@ -7132,13 +7133,15 @@ static void setup_per_zone_lowmem_reserve(void) | |||
7132 | struct zone *lower_zone; | 7133 | struct zone *lower_zone; |
7133 | 7134 | ||
7134 | idx--; | 7135 | idx--; |
7135 | |||
7136 | if (sysctl_lowmem_reserve_ratio[idx] < 1) | ||
7137 | sysctl_lowmem_reserve_ratio[idx] = 1; | ||
7138 | |||
7139 | lower_zone = pgdat->node_zones + idx; | 7136 | lower_zone = pgdat->node_zones + idx; |
7140 | lower_zone->lowmem_reserve[j] = managed_pages / | 7137 | |
7141 | sysctl_lowmem_reserve_ratio[idx]; | 7138 | if (sysctl_lowmem_reserve_ratio[idx] < 1) { |
7139 | sysctl_lowmem_reserve_ratio[idx] = 0; | ||
7140 | lower_zone->lowmem_reserve[j] = 0; | ||
7141 | } else { | ||
7142 | lower_zone->lowmem_reserve[j] = | ||
7143 | managed_pages / sysctl_lowmem_reserve_ratio[idx]; | ||
7144 | } | ||
7142 | managed_pages += lower_zone->managed_pages; | 7145 | managed_pages += lower_zone->managed_pages; |
7143 | } | 7146 | } |
7144 | } | 7147 | } |