]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/pseries: Enable RAS hotplug events later
authorSam Bobroff <sam.bobroff@au1.ibm.com>
Mon, 12 Feb 2018 00:19:29 +0000 (11:19 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 13 Feb 2018 11:37:46 +0000 (22:37 +1100)
commitf23d1b8842d6d5c0c3747f030ae3feaa92c42eef
tree9ecce5e6372c85b275f35d77c296a4f668c5774e
parent9a6e58480b8d4a614f660878027bd8215dc84a61
powerpc/pseries: Enable RAS hotplug events later

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: Sam Bobroff <sam.bobroff@au1.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
[mpe: Reorder the functions to make the diff readable]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/ras.c