From: Mel Gorman The pageblock flags store bits representing a MAX_ORDER_NR_PAGES block of pages. When calling get_pageblock_bitmap(), a non-aligned PFN is passed which is then aligned to the MAX_ORDER_NR_PAGES block. This alignment is unnecessary. This patch should be considered a fix to the patch add-a-bitmap-that-is-used-to-track-flags-affecting-a-block-of-pages.patch . Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton --- mm/page_alloc.c | 4 +--- 1 files changed, 1 insertion(+), 3 deletions(-) diff -puN mm/page_alloc.c~add-a-bitmap-that-is-used-to-track-flags-affecting-a-block-of-pages-fix mm/page_alloc.c --- a/mm/page_alloc.c~add-a-bitmap-that-is-used-to-track-flags-affecting-a-block-of-pages-fix +++ a/mm/page_alloc.c @@ -3432,9 +3432,7 @@ static inline unsigned long *get_pageblo unsigned long pfn) { #ifdef CONFIG_SPARSEMEM - unsigned long blockpfn; - blockpfn = pfn & ~(MAX_ORDER_NR_PAGES - 1); - return __pfn_to_section(blockpfn)->pageblock_flags; + return __pfn_to_section(pfn)->pageblock_flags; #else return zone->pageblock_flags; #endif /* CONFIG_SPARSEMEM */ _