>> Hi Yinghai, >> >> I'm afraid the v2 will break powerpc. Currently only IA64 and PowerPC >> supports variable hugetlb size. >> >> HPAGE_SHIFT is a variable default to 0 on powerpc. But seems PowerPC >> is doing something wrong here, according to it's mm initialization >> sequence as below: >> start_kernel() >> setup_arch() >> paging_init() >> free_area_init_node() >> set_pageblock_order() >> refer to HPAGE_SHIFT (still 0) >> init_rest() >> do_initcalls() >> hugetlbpage_init() >> setup HPAGE_SHIFT >> That means pageblock_order is always set to "MAX_ORDER - 1", not sure >> whether this is intended. And it has the same issue as IA64 of wasting >> memory if CONFIG_SPARSE is enabled. > > adding BenH, need to know if it is powerpc intended. > >> >> So it would be better to keep function set_pageblock_order(), it will >> fix the memory wasting on both IA64 and PowerPC. > > Should setup pageblock_order as early as possible to avoid confusing. OK, waiting response from PPC. If we could find some ways to set HPAGE_SIZE early on PPC too, we can setup pageblock_order in arch instead of page_alloc.c as early as possible. Thanks! Gerry -- 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>