]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm-correctly-update-zone-managed_pages-fix-fix
authorJiang Liu <liuj97@gmail.com>
Fri, 7 Jun 2013 00:08:01 +0000 (10:08 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 7 Jun 2013 05:42:19 +0000 (15:42 +1000)
When CONFIG_HIGHMEM is undefined, totalhigh_pages is defined as:
#define totalhigh_pages 0UL
Thus statement "totalhigh_pages += count" will cause build failure as:
  CC      mm/page_alloc.o
mm/page_alloc.c: In function `adjust_managed_page_count':
mm/page_alloc.c:5262:19: error: lvalue required as left operand of
assignment
make[1]: *** [mm/page_alloc.o] Error 1
make: *** [mm/page_alloc.o] Error 2

So we still need to use CONFIG_HIGHMEM to guard the statement.

Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_alloc.c

index 6bc26849b250268d0754a588aad2d3d896b53241..bc57b07e96923e5a8e054d4ebc930c89d21de527 100644 (file)
@@ -5197,8 +5197,10 @@ void adjust_managed_page_count(struct page *page, long count)
        spin_lock(&managed_page_count_lock);
        page_zone(page)->managed_pages += count;
        totalram_pages += count;
+#ifdef CONFIG_HIGHMEM
        if (PageHighMem(page))
                totalhigh_pages += count;
+#endif
        spin_unlock(&managed_page_count_lock);
 }
 EXPORT_SYMBOL(adjust_managed_page_count);