Memory hotplug is leading to hash page table calls, even on radix: ... arch_add_memory create_section_mapping htab_bolt_mapping BUG_ON(!ppc_md.hpte_insert);
Refactor {create,remove}_section_mapping() into hash__ and radix__ variants. RFC/TODO: I wasn't sure what to do in radix__remove_section_mapping(). Its vmemmap counterpart radix__vmemmap_remove_mapping() is stubbed as a FIXME. I left it empty for now. v2: * Do not simply fall through to vmemmap_{create,remove}_mapping(). As Aneesh and Michael pointed out, they are tied to CONFIG_SPARSEMEM_VMEMMAP and only did what I needed by luck anyway. v1: * https://lkml.kernel.org/r/1466699962-22412-1-git-send-email-ar...@linux.vnet.ibm.com Reza Arbab (2): powerpc/mm: refactor {create,remove}_section_mapping() powerpc/mm: add radix__{create,remove}_section_mapping() arch/powerpc/include/asm/book3s/64/hash.h | 5 +++++ arch/powerpc/include/asm/book3s/64/radix.h | 5 +++++ arch/powerpc/include/asm/sparsemem.h | 22 ++++++++++++++++++++-- arch/powerpc/mm/hash_utils_64.c | 4 ++-- arch/powerpc/mm/pgtable-radix.c | 23 +++++++++++++++++++++++ 5 files changed, 55 insertions(+), 4 deletions(-) -- 1.8.3.1 *** BLURB HERE *** Reza Arbab (2): powerpc/mm: refactor {create,remove}_section_mapping() powerpc/mm: add radix__{create,remove}_section_mapping() arch/powerpc/include/asm/book3s/64/hash.h | 5 +++++ arch/powerpc/include/asm/book3s/64/radix.h | 5 +++++ arch/powerpc/include/asm/sparsemem.h | 22 ++++++++++++++++++++-- arch/powerpc/mm/hash_utils_64.c | 4 ++-- arch/powerpc/mm/pgtable-radix.c | 23 +++++++++++++++++++++++ 5 files changed, 55 insertions(+), 4 deletions(-) -- 1.8.3.1