Re: [RFC FIX v1 1/2] powerpc: Discover radix availability before scanning the memory nodes
From: Bharata B Rao <hidden>
Date: 2018-01-08 09:17:08
On Sat, Jan 06, 2018 at 10:28:00AM +1100, Michael Ellerman wrote:
Bharata B Rao [off-list ref] writes:quoted
Currently device tree nodes for memory are scanned before the radix feature is discovered in mmu_early_init_devtree(). Move this routine ahead of scanning memory nodes so that we know if the guest is radix or not when scanning ibm,dynamic-reconfiguration-memory.Sorry this doesn't work.quoted
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index b15bae2..079d893 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c@@ -722,6 +722,8 @@ void __init early_init_devtree(void *params) */ of_scan_flat_dt(early_init_dt_scan_chosen_ppc, boot_command_line); + mmu_early_init_devtree(); +You've moved this above parse_early_param(), but mmu_early_init_devtree() uses disable_radix, which is an early param. So this will break disable_radix handling. It will probably break other things too because the ordering of this init code is very fragile - bootstrapping is hard :)
So from your and Aneesh's reply I realize that my current approach involving upfront mapping of hotplugged memory with smaller mappings without afffecting PowerVM will not be feasible. Guess breaking the mapping appropriately during unplug would be the only real solution then. Regards, Bharata.