|
@@ -272,7 +272,15 @@ static void pnv_kexec_cpu_down(int crash_shutdown, int secondary)
|
|
#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
|
|
#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
|
|
static unsigned long pnv_memory_block_size(void)
|
|
static unsigned long pnv_memory_block_size(void)
|
|
{
|
|
{
|
|
- return 256UL * 1024 * 1024;
|
|
|
|
|
|
+ /*
|
|
|
|
+ * We map the kernel linear region with 1GB large pages on radix. For
|
|
|
|
+ * memory hot unplug to work our memory block size must be at least
|
|
|
|
+ * this size.
|
|
|
|
+ */
|
|
|
|
+ if (radix_enabled())
|
|
|
|
+ return 1UL * 1024 * 1024 * 1024;
|
|
|
|
+ else
|
|
|
|
+ return 256UL * 1024 * 1024;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|