]> 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)
commit3c52b76d7d3c63f28d699f7681f566ff71c9e370
tree9ecce5e6372c85b275f35d77c296a4f668c5774e
parent0138e25123fa5254493d27f63a0d5601e1b6acc2
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