2013-04-11 04:46:11

by Li Haifeng

[permalink] [raw]
Subject: Re: Kexec couldn't reboot capture kernel on pandaboard ES with OMAP4460

2013/4/10 Stephen Warren <[email protected]>:
> On 04/10/2013 03:35 AM, Li Haifeng wrote:
>> Hi, everyone.
>>
>> Recently, I try to run kdump on pandaboard ES with omap4460. After
>> load capture kernel by "kexec -l" and execute "kexec -e", the serial
>> port output "Starting new kernel" and "Bye", then the system hangs up.
>>
>> I have tried the upstream Linux Kernel v3.4 and v3.8. All are with this issue.
>
> This is a shot in the dark. I assume you have SMP enabled. Can you use
> hotplug to remove all CPUs other than CPU0, so that the kexec happens on
> the boot CPU? That is certainly necessary for kexec to work correctly on
> Tegra.

Thanks for your attention.

I do disable SMP feature. And the .config file for v3.8 could be found here:
http://pastehtml.com/view/cylyrfejt.txt

The log and operation could be found here:
http://pastehtml.com/view/cylyfrb3a.txt

Some key setting list below.

bootargs:
rw vram=32M fixrtc mem=1G@0x80000000 root=/dev/mmcblk0p2
console=ttyO2,115200n8 rootwait crashkernel=64M@0x82000000

operation:
/ # ./kexec -l --append="rw vram=32M fixrtc root=/dev/mmcblk0p2 console=ttyO2,
115200n8 rootwait" uImage
/ # ./kexec -d -e

The output:
[ 57.373687] Starting new kernel
[ 57.377044] Bye!

Then system hangs.


2013-04-11 16:19:25

by Stephen Warren

[permalink] [raw]
Subject: Re: Kexec couldn't reboot capture kernel on pandaboard ES with OMAP4460

On 04/10/2013 10:46 PM, Li Haifeng wrote:
> 2013/4/10 Stephen Warren <[email protected]>:
>> On 04/10/2013 03:35 AM, Li Haifeng wrote:
>>> Hi, everyone.
>>>
>>> Recently, I try to run kdump on pandaboard ES with omap4460. After
>>> load capture kernel by "kexec -l" and execute "kexec -e", the serial
>>> port output "Starting new kernel" and "Bye", then the system hangs up.
>>>
>>> I have tried the upstream Linux Kernel v3.4 and v3.8. All are with this issue.
>>
>> This is a shot in the dark. I assume you have SMP enabled. Can you use
>> hotplug to remove all CPUs other than CPU0, so that the kexec happens on
>> the boot CPU? That is certainly necessary for kexec to work correctly on
>> Tegra.
>
> Thanks for your attention.
>
> I do disable SMP feature. And the .config file for v3.8 could be found here:
> http://pastehtml.com/view/cylyrfejt.txt
...
> The output:
> [ 57.373687] Starting new kernel
> [ 57.377044] Bye!
>
> Then system hangs.

Oh well, you've exhausted my knowledge I'm afraid! I can only suggesting
trying to enable earlyprintk and/or uncompressor debug in the kernel
you're kexec'ing and see if that yields any clue. Either that, or JTAG!

2013-04-12 10:45:54

by Will Deacon

[permalink] [raw]
Subject: Re: Kexec couldn't reboot capture kernel on pandaboard ES with OMAP4460

On Thu, Apr 11, 2013 at 05:19:21PM +0100, Stephen Warren wrote:
> On 04/10/2013 10:46 PM, Li Haifeng wrote:
> > 2013/4/10 Stephen Warren <[email protected]>:
> >> On 04/10/2013 03:35 AM, Li Haifeng wrote:
> >>> Hi, everyone.
> >>>
> >>> Recently, I try to run kdump on pandaboard ES with omap4460. After
> >>> load capture kernel by "kexec -l" and execute "kexec -e", the serial
> >>> port output "Starting new kernel" and "Bye", then the system hangs up.
> >>>
> >>> I have tried the upstream Linux Kernel v3.4 and v3.8. All are with this issue.
> >>
> >> This is a shot in the dark. I assume you have SMP enabled. Can you use
> >> hotplug to remove all CPUs other than CPU0, so that the kexec happens on
> >> the boot CPU? That is certainly necessary for kexec to work correctly on
> >> Tegra.
> >
> > Thanks for your attention.
> >
> > I do disable SMP feature. And the .config file for v3.8 could be found here:
> > http://pastehtml.com/view/cylyrfejt.txt
> ...
> > The output:
> > [ 57.373687] Starting new kernel
> > [ 57.377044] Bye!
> >
> > Then system hangs.
>
> Oh well, you've exhausted my knowledge I'm afraid! I can only suggesting
> trying to enable earlyprintk and/or uncompressor debug in the kernel
> you're kexec'ing and see if that yields any clue. Either that, or JTAG!

Also worth using the bleeding edge kexec-tools (i.e. build from source),
especially if you want to anything device-tree related.

Back to the SMP point: Stephen, did you ever get anywhere with that
disable_nonboot_cpus thread from a few months back? I'm still keen to get
that working, and I *thought* we had a potential solution...

Will

2013-04-12 15:22:26

by Stephen Warren

[permalink] [raw]
Subject: Re: Kexec couldn't reboot capture kernel on pandaboard ES with OMAP4460

On 04/12/2013 04:45 AM, Will Deacon wrote:
...
> Back to the SMP point: Stephen, did you ever get anywhere with that
> disable_nonboot_cpus thread from a few months back? I'm still keen to get
> that working, and I *thought* we had a potential solution...

No, I've been side-tracked on too many other things to follow up on that:-(