• Sam Bobroff's avatar
    powerpc/pseries: Enable RAS hotplug events later · c9dccf1d
    Sam Bobroff authored
    Currently if the kernel receives a memory hot-unplug event early
    enough, it may get stuck in an infinite loop in
    dissolve_free_huge_pages(). This appears as a stall just after:
    
      pseries-hotplug-mem: Attempting to hot-remove XX LMB(s) at YYYYYYYY
    
    It appears to be caused by "minimum_order" being uninitialized, due to
    init_ras_IRQ() executing before hugetlb_init().
    
    To correct this, extract the part of init_ras_IRQ() that enables
    hotplug event processing and place it in the machine_late_initcall
    phase, which is guaranteed to be after hugetlb_init() is called.
    Signed-off-by: default avatarSam Bobroff <sam.bobroff@au1.ibm.com>
    Acked-by: default avatarBalbir Singh <bsingharora@gmail.com>
    [mpe: Reorder the functions to make the diff readable]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    c9dccf1d
ras.c 13.7 KB