One of the primary issues with Firmware Assisted Dump (fadump) on Power is that it needs a large amount of memory to be reserved. This reserved memory is used for saving the contents of old crashed kernel's memory before fadump capture kernel uses old kernel's memory area to boot. However, This reserved memory area stays unused until system crash and isn't available for production kernel to use.
Instead of setting aside a significant chunk of memory that nobody can use, take advantage ZONE_MOVABLE to mark a significant chunk of reserved memory as ZONE_MOVABLE, so that the kernel is prevented from using, but applications are free to use it. Patch 1 introduces an interface to mark reserved memory as ZONE_MOVABLE. Patch 2 uses the above interface to mark reserved memory movable so that it can be used for applications usage, making fadump reservationless. Patch 3 and 4 fixes minor issues. Changes in V6: - Introduce an interface to mark reserved memory as ZONE_MOVABLE. Hence sending this series as RFC again. - Mark reserved area as ZONE_MOVABLE instead of CMA. - Add fadump=nonmovable parameter for user who don't want to use ZONE_MOVABLE. Changes in V5: - Drop the patch that does metadata movement. - Move the kexec fix patch to top (patch 1) - Fold CMA documenation patch into patch 2 - Fix the compilation issues when CONFIG_CMA is not set reported by Hari. - Use the approach of using boot memory size for CMA as suggested by Hari except the movement of sections. Thanks to Hari. Changes in V4: - patch 1: Make fadump compatible irrespective of kernel versions. - patch 4: moved out of the series and been posted seperatly at http://patchwork.ozlabs.org/patch/896716/ - Documentation update about CMA reservation. Changes in V3: - patch 1 & 2: move metadata region and documentation update. - patch 7: Un-register the faudmp on kexec path --- Mahesh Salgaonkar (4): mm/page_alloc: Introduce an interface to mark reserved memory as ZONE_MOVABLE powerpc/fadump: Reservationless firmware assisted dump powerpc/fadump: throw proper error message on fadump registration failure. powerpc/fadump: Do not allow hot-remove memory from fadump reserved area. Documentation/powerpc/firmware-assisted-dump.txt | 18 +++ arch/powerpc/include/asm/fadump.h | 7 + arch/powerpc/kernel/fadump.c | 123 +++++++++++++++++-- arch/powerpc/platforms/pseries/hotplug-memory.c | 7 + include/linux/mmzone.h | 2 mm/page_alloc.c | 146 ++++++++++++++++++++++ 6 files changed, 290 insertions(+), 13 deletions(-) -- Signature