> It's a bit ugly calling set_pageblock_order() from both sparse_init() > and from free_area_init_core(). Can we find a single place from which > to call it? It looks like here: > > --- a/init/main.c~a > +++ a/init/main.c > @@ -514,6 +514,7 @@ asmlinkage void __init start_kernel(void > __stop___param - __start___param, > -1, -1, &unknown_bootoption); > > + set_pageblock_order(); > jump_label_init(); > > /* > > would do the trick? > > (free_area_init_core is __paging_init and set_pageblock_order() is > __init. I'm too lazy to work out if that's wrong) Hi Andrew, Thanks for you comments. Yes, this's an issue. And we are trying to find a way to setup pageorder_block as early as possible. Yinghai has suggested a good way for IA64, but we still need help from PPC experts because PPC has the same issue and I'm not familiar with PPC architecture. We will submit another patch once we find an acceptable solution here. 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>