• Huacai Chen's avatar
    LoongArch/smp: Call rcutree_report_cpu_starting() at tlb_init() · 5056c596
    Huacai Chen authored
    Machines which have more than 8 nodes fail to boot SMP after commit
    a2ccf463 ("LoongArch/smp: Call rcutree_report_cpu_starting()
    earlier"). Because such machines use tlb-based per-cpu base address
    rather than dmw-based per-cpu base address, resulting per-cpu variables
    can only be accessed after tlb_init(). But rcutree_report_cpu_starting()
    is now called before tlb_init() and accesses per-cpu variables indeed.
    
    Since the original patch want to avoid the lockdep warning caused by
    page allocation in tlb_init(), we can move rcutree_report_cpu_starting()
    to tlb_init() where after tlb exception configuration but before page
    allocation.
    
    Fixes: a2ccf463 ("LoongArch/smp: Call rcutree_report_cpu_starting() earlier")
    Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    5056c596
tlb.c 7.99 KB