diff options
| -rw-r--r-- | mm/page_alloc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 850009a7101e..2b8ba3aebf6e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
| @@ -3377,9 +3377,15 @@ static void setup_zone_migrate_reserve(struct zone *zone) | |||
| 3377 | unsigned long block_migratetype; | 3377 | unsigned long block_migratetype; |
| 3378 | int reserve; | 3378 | int reserve; |
| 3379 | 3379 | ||
| 3380 | /* Get the start pfn, end pfn and the number of blocks to reserve */ | 3380 | /* |
| 3381 | * Get the start pfn, end pfn and the number of blocks to reserve | ||
| 3382 | * We have to be careful to be aligned to pageblock_nr_pages to | ||
| 3383 | * make sure that we always check pfn_valid for the first page in | ||
| 3384 | * the block. | ||
| 3385 | */ | ||
| 3381 | start_pfn = zone->zone_start_pfn; | 3386 | start_pfn = zone->zone_start_pfn; |
| 3382 | end_pfn = start_pfn + zone->spanned_pages; | 3387 | end_pfn = start_pfn + zone->spanned_pages; |
| 3388 | start_pfn = roundup(start_pfn, pageblock_nr_pages); | ||
| 3383 | reserve = roundup(min_wmark_pages(zone), pageblock_nr_pages) >> | 3389 | reserve = roundup(min_wmark_pages(zone), pageblock_nr_pages) >> |
| 3384 | pageblock_order; | 3390 | pageblock_order; |
| 3385 | 3391 | ||
