On 07/31/2013 05:37 AM, Vijay Kilari wrote: > On Tue, Jul 30, 2013 at 10:29 PM, Stephen Warren <swarren at wwwdotorg.org> wrote: >> On 07/30/2013 04:37 AM, Vijay Kilari wrote: >>> On Fri, Jul 26, 2013 at 10:38 PM, Stephen Warren <swarren at wwwdotorg.org> wrote: >> ... >>>> Does a kernel that's used as the crash kernel guarantee: >>>> >>>> * Never to re-use the memory that was used by the previous kernel, so >>>> that the spin loop code/data won't be corrupted, ever, no matter how >>>> long the crash recovery kernel runs. >>>> >>>> * Not use SMP, so there's never a need to re-activate the non-boot CPUs, >>>> which might not work if they aren't truly disabled but rather just >>>> running a pin loop? >>> >>> From cat /proc/iomem, normal kernel is executed from (0x80xxxxxx) with crash >>> kernel reserved 64M at 0xa0000000 >>> >>> 80000000-bfffffff : System RAM >>> 80008000-805aeddf : Kernel code >>> 805e2000-8063e427 : Kernel data >>> a0000000-a3ffffff : Crash kernel >>> >>> crash kernel is loaded to reserved memory location and is executed from there. >>> I could confirm this from /proc/iomem when crash kernel is running >>> >>> a0000000-a3efffff : System RAM >>> a0008000-a05aeddf : Kernel code >>> a05e2000-a063e427 : Kernel data >> >> OK, but in the crash dump kernel, is 80008000..8063e427 reserved as >> well, which would guarantee that the spin loop being executed by the >> non-crash CPUs won't be corrupted? > > The crash dump kernel runs from reserved memory area (0xa0000000 - 0xa3effffff). > So it should not corrupt the memory area of original kernel that was running > at 0x80000000,where other CPU's are in spin loop. What about dynamic allocations?