Re: mmots: mm-correctly-update-zone-managed_pages-fix.patch breaks compilation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/05/2013 07:16 PM, Michal Hocko wrote:
> Hi Andrew,
> the above patch breaks compilation:
> mm/page_alloc.c: In function ‘adjust_managed_page_count’:
> mm/page_alloc.c:5226: error: lvalue required as left operand of assignment
> 
> Could you drop the mm/page_alloc.c hunk, please? Not all versions of gcc
> are able to cope with this obviously (mine is 4.3.4).
> 
> Thanks
> 
Hi Andrew,

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.
---
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3437f7a..860d639 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5258,8 +5258,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);
---

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]