Hi guys,
linux-2.6.27-rc3 kernel causes the kdump kernel to panic at
__free_pages_bootmem(). It has been fixed in 2.6.27-rc4.
So, avoid 2.6.27-rc3 if you want to use the 'kdump' feature
of KDB. (Or, kdump without KDB ;))
Regards,
- jay
Jay Lan wrote:
> jidong xiao wrote:
>> On Thu, Aug 21, 2008 at 2:36 AM, Jay Lan <[EMAIL PROTECTED]> wrote:
>>> jidong xiao wrote:
>>>> On Sat, Aug 16, 2008 at 3:49 AM, Jay Lan <[EMAIL PROTECTED]> wrote:
>>>>> Hi,
>>>>>
>>>>> The kdb 2.6.27-rc2-*-2.bz2 patchset contains implementation
>>>>> of 'kdump' command. It was based on the original patch posted
>>>>> by Dan Aloni last year, then modified to provide i386 support
>>>>> by Jason Xiao. I added IA64 support. I also added hooks to
>>>>> intercept and drop to KDB from oops.
>>>>>
>>>>> It looks quite different from your patch, Jason, especially
>>>>> in kdb/kdbmain.c to a style i like better. Sorry about that.
>>>>>
>>>>> This implementation would catch die, panic, MCA, NMI conditions
>>>>> and drop into KDB. After analyze the oops situation and data,
>>>>> you can issue 'kdump' command and a kdump vmcore will be
>>>>> created.
>>>>>
>>>>> I do not intercept 'echo c > /proc/sysrq-trigger' since i see
>>>>> no need to create extra works if users already decide to create
>>>>> a vmcore from user space. Besides, you can use KDB key sequence
>>>>> to break into KDB and do a 'kdump' command to take a dump as well.
>>>>>
>>>>> Doing a 'go' after panic is undefined, and it also depends on
>>>>> the value of CONFIG_KDB_CONTINUE_CATASTROPHIC. So, do 'kdump'
>>>>> after panic if you want take a vmcore.
>>>>>
>>>>> I have tested on IA64 and X86_64 to see a kdump kernel booted
>>>>> up and /proc/vmcore created. Due to bugs of makedumpfile and
>>>>> crash against the latest kernels, i did not run crash to
>>>>> check validity of the vmcore though.
>>>>>
>>>>> Please report any bugs to me. Thanks!
>>>>>
>>>>> Regards,
>>>>> - jay
>>>>>
>>>>>
>>>> Hi,Jay,
>>>>
>>>> arch/ia64/kdb/kdba_support.c,
>>>>
>>>> void
>>>> kdba_kdump_prepare(struct pt_regs *fixed_regs)
>>>> {
>>>> int i;
>>>>
>>>> /* Set on KEXEC bit on all onlinr cpus */
>>>> for (i = 1; i < NR_CPUS; ++i) {
>>>> if (!cpu_online(i))
>>>> continue;
>>>>
>>>> KDB_STATE_SET_CPU(KEXEC, i);
>>>> }
>>>>
>>>> /* delaying for 5 seconds ... */
>>>> udelay(5*1000000);
>>>> machine_crash_shutdown(fixed_regs);
>>>> }
>>>>
>>>> I wonder why do we need this 5-seconds-delay. Thanks.
>>> I stole the code from ia64_init_handler() of arch/ia64/kernel/mca.c:
>>>
>>> /*
>>> * Wait for a bit. On some machines (e.g., HP's zx2000 and
>>> zx6000, INIT can be
>>> * generated via the BMC's command-line interface, but since the
>>> console is on the
>>> * same serial line, the user will need some time to switch out
>>> of the BMC before
>>> * the dump begins.
>>> */
>>> mprintk("Delaying for 5 seconds...\n");
>>> udelay(5*1000000);
>>> ia64_wait_for_slaves(cpu, "INIT");
>>>
>>> Since i can not test on those machines mentioned above, i can not tell
>>> if the delay is really necessary. But it is IA64 specific, i guess.
>> Okay, I see. Thanks.
>>
>>> Have you tested the code on x86_32, Jason? I do not have an x86_32
>>> mchine set up for kdump testing...
>>>
>> I will test the code on x86_32 (and also ia64) soon. Will let you know
>> the result.
>
> I just found out the same KDB patchset that applied to 2.6.27-rc2 worked
> fine, but it would cause the kdump kernel panic on __free_pages_bootmem
> on 2.6.27-rc3. It was on ia64.
>
> Now in addition to running the kdb sanity test every time i rebase
> the KDB patchset to a newer release, it seems that i need to test
> kdump as well. :(
>
> Regards,
> - jay
>
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.