Re: [PATCH] mm: setup pageblock_order before it's used by sparse
From: Yinghai Lu <yinghai@kernel.org>
Date: 2012-07-06 01:00:13
Also in:
lkml, stable
On Wed, Jul 4, 2012 at 2:20 AM, Mel Gorman [off-list ref] wrote:
On Wed, Jul 04, 2012 at 09:40:30AM +0800, Jiang Liu wrote:quoted
quoted
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.I think it's overkill to try and do this on a per-architecture basis unless you are aware of a case where the per-architecture code cares about the value of pageblock_order. I find it implausible that the architecture needs to know the value very early in boot as pageblock_order is part of the arch-independent memory model. Andrew's suggestion seems reasonable to me once the section mess is figured out.
cma, dma_continugous_reserve is referring pageblock_order very early too. just after init_memory_mapping() for x86's setup_arch. so set pageblock_order early looks like my -v2 patch is right way. current question: need to powerpc guys to check who to set that early. Thanks Yinghai -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>