* kexec failures on ipq4019
@ 2018-06-16 1:07 Andy Strohman
[not found] ` <CAAGQ2nQNQ-aFkcrQHNA6H5TZ1tTovtfO_0Ohfndn9jXy13Hc6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Andy Strohman @ 2018-06-16 1:07 UTC (permalink / raw)
To: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi,
I'm trying to get kexec to work consistently for ipq4019. I load
the crash kernel like this:
kexec --type zImage -p zImage-initramfs
--dtb=image-qcom-ipq4019-eap1300.dtb --append="maxcpus=1
reset_devices" --image-size=34419456
I have reserved 64MB of memory for the crash kernel with parameter:
crashkernel=64M
This seems to work ~70% of the time. When it doesn't work, I see the
"bye!" message followed by a 5-10 second hang without output. Then
the machine resets.
I've been testing with:
echo c > /proc/sysrq-trigger
Does anyone have an idea of what may be causing the failures or how
to troubleshoot this?
I'm using OpenWRT with kernel 4.14.37. I added the following patch
in order to load the crash kernel:
--- a/arch/arm/mach-qcom/platsmp.c
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -332,6 +332,12 @@ static void __init qcom_smp_prepare_cpus
}
}
+/* Needed by kexec and platform_can_cpu_hotplug() */
+int qcom_cpu_kill(unsigned int cpu)
+{
+ return 1;
+}
+
static const struct smp_operations smp_msm8660_ops __initconst = {
.smp_prepare_cpus = qcom_smp_prepare_cpus,
.smp_secondary_init = qcom_secondary_init,
@@ -358,6 +364,7 @@ static const struct smp_operations qcom_
.smp_boot_secondary = kpssv2_boot_secondary,
#ifdef CONFIG_HOTPLUG_CPU
.cpu_die = qcom_cpu_die,
+ .cpu_kill = qcom_cpu_kill,
#endif
};
CPU_METHOD_OF_DECLARE(qcom_smp_kpssv2, "qcom,kpss-acc-v2",
&qcom_smp_kpssv2_ops);
Thanks,
Andy
--
http://www.uplevelsystems.com <http://www.uplevelsystems.com>
^ permalink raw reply [flat|nested] 4+ messages in thread[parent not found: <CAAGQ2nQNQ-aFkcrQHNA6H5TZ1tTovtfO_0Ohfndn9jXy13Hc6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: kexec failures on ipq4019 [not found] ` <CAAGQ2nQNQ-aFkcrQHNA6H5TZ1tTovtfO_0Ohfndn9jXy13Hc6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2018-06-18 6:31 ` sricharan-sgV2jX0FEOL9JmXXK+q4OQ [not found] ` <b741eca8c2d1bee8a8db7136c3061064-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: sricharan-sgV2jX0FEOL9JmXXK+q4OQ @ 2018-06-18 6:31 UTC (permalink / raw) To: Andy Strohman Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-arm-msm-owner-u79uwXL29TY76Z2rM5mHXA Hi Andy, On 2018-06-16 06:37, Andy Strohman wrote: > Hi, > > I'm trying to get kexec to work consistently for ipq4019. I load > the crash kernel like this: > > kexec --type zImage -p zImage-initramfs > --dtb=image-qcom-ipq4019-eap1300.dtb --append="maxcpus=1 > reset_devices" --image-size=34419456 > > I have reserved 64MB of memory for the crash kernel with parameter: > crashkernel=64M > > This seems to work ~70% of the time. When it doesn't work, I see the > "bye!" message followed by a 5-10 second hang without output. Then > the machine resets. > > I've been testing with: > echo c > /proc/sysrq-trigger > > Does anyone have an idea of what may be causing the failures or how > to troubleshoot this? > I will try to reproduce this and get back to you shortly. Regards, Sricharan > I'm using OpenWRT with kernel 4.14.37. I added the following patch > in order to load the crash kernel: > > --- a/arch/arm/mach-qcom/platsmp.c > +++ b/arch/arm/mach-qcom/platsmp.c > @@ -332,6 +332,12 @@ static void __init qcom_smp_prepare_cpus > } > } > > +/* Needed by kexec and platform_can_cpu_hotplug() */ > +int qcom_cpu_kill(unsigned int cpu) > +{ > + return 1; > +} > + > static const struct smp_operations smp_msm8660_ops __initconst = { > .smp_prepare_cpus = qcom_smp_prepare_cpus, > .smp_secondary_init = qcom_secondary_init, > @@ -358,6 +364,7 @@ static const struct smp_operations qcom_ > .smp_boot_secondary = kpssv2_boot_secondary, > #ifdef CONFIG_HOTPLUG_CPU > .cpu_die = qcom_cpu_die, > + .cpu_kill = qcom_cpu_kill, > #endif > }; > CPU_METHOD_OF_DECLARE(qcom_smp_kpssv2, "qcom,kpss-acc-v2", > &qcom_smp_kpssv2_ops); > > > Thanks, > > Andy ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <b741eca8c2d1bee8a8db7136c3061064-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>]
* Re: kexec failures on ipq4019 [not found] ` <b741eca8c2d1bee8a8db7136c3061064-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> @ 2018-06-26 21:17 ` Andy Strohman [not found] ` <CAAGQ2nSG2QGHrOv+S77qTs8hdMgEEsNBFoDGa9wLiEKE1nDZmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Andy Strohman @ 2018-06-26 21:17 UTC (permalink / raw) To: sricharan-sgV2jX0FEOL9JmXXK+q4OQ Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-arm-msm-owner-u79uwXL29TY76Z2rM5mHXA On Sun, Jun 17, 2018 at 11:31 PM, <sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> wrote: > Hi Andy, > > On 2018-06-16 06:37, Andy Strohman wrote: >> >> Hi, >> >> I'm trying to get kexec to work consistently for ipq4019. I load >> the crash kernel like this: >> >> kexec --type zImage -p zImage-initramfs >> --dtb=image-qcom-ipq4019-eap1300.dtb --append="maxcpus=1 >> reset_devices" --image-size=34419456 >> >> I have reserved 64MB of memory for the crash kernel with parameter: >> crashkernel=64M >> >> This seems to work ~70% of the time. When it doesn't work, I see the >> "bye!" message followed by a 5-10 second hang without output. Then >> the machine resets. >> >> I've been testing with: >> echo c > /proc/sysrq-trigger >> >> Does anyone have an idea of what may be causing the failures or how >> to troubleshoot this? >> > > I will try to reproduce this and get back to you shortly. > > Regards, > Sricharan > > >> I'm using OpenWRT with kernel 4.14.37. I added the following patch >> in order to load the crash kernel: >> >> --- a/arch/arm/mach-qcom/platsmp.c >> +++ b/arch/arm/mach-qcom/platsmp.c >> @@ -332,6 +332,12 @@ static void __init qcom_smp_prepare_cpus >> } >> } >> >> +/* Needed by kexec and platform_can_cpu_hotplug() */ >> +int qcom_cpu_kill(unsigned int cpu) >> +{ >> + return 1; >> +} >> + >> static const struct smp_operations smp_msm8660_ops __initconst = { >> .smp_prepare_cpus = qcom_smp_prepare_cpus, >> .smp_secondary_init = qcom_secondary_init, >> @@ -358,6 +364,7 @@ static const struct smp_operations qcom_ >> .smp_boot_secondary = kpssv2_boot_secondary, >> #ifdef CONFIG_HOTPLUG_CPU >> .cpu_die = qcom_cpu_die, >> + .cpu_kill = qcom_cpu_kill, >> #endif >> }; >> CPU_METHOD_OF_DECLARE(qcom_smp_kpssv2, "qcom,kpss-acc-v2", >> &qcom_smp_kpssv2_ops); >> >> >> Thanks, >> >> Andy Hi Sricharan, Thanks for your response. Did you get a chance to try this out? If so, were you able to reproduce? Thanks, Andy -- http://www.uplevelsystems.com <http://www.uplevelsystems.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CAAGQ2nSG2QGHrOv+S77qTs8hdMgEEsNBFoDGa9wLiEKE1nDZmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: kexec failures on ipq4019 [not found] ` <CAAGQ2nSG2QGHrOv+S77qTs8hdMgEEsNBFoDGa9wLiEKE1nDZmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2018-06-28 4:33 ` Sricharan R 0 siblings, 0 replies; 4+ messages in thread From: Sricharan R @ 2018-06-28 4:33 UTC (permalink / raw) To: Andy Strohman Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-arm-msm-owner-u79uwXL29TY76Z2rM5mHXA Hi Andy, On 6/27/2018 2:47 AM, Andy Strohman wrote: > On Sun, Jun 17, 2018 at 11:31 PM, <sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> wrote: >> Hi Andy, >> >> On 2018-06-16 06:37, Andy Strohman wrote: >>> >>> Hi, >>> >>> I'm trying to get kexec to work consistently for ipq4019. I load >>> the crash kernel like this: >>> >>> kexec --type zImage -p zImage-initramfs >>> --dtb=image-qcom-ipq4019-eap1300.dtb --append="maxcpus=1 >>> reset_devices" --image-size=34419456 >>> >>> I have reserved 64MB of memory for the crash kernel with parameter: >>> crashkernel=64M >>> >>> This seems to work ~70% of the time. When it doesn't work, I see the >>> "bye!" message followed by a 5-10 second hang without output. Then >>> the machine resets. >>> >>> I've been testing with: >>> echo c > /proc/sysrq-trigger >>> >>> Does anyone have an idea of what may be causing the failures or how >>> to troubleshoot this? >>> >> >> I will try to reproduce this and get back to you shortly. >> >> Regards, >> Sricharan >> >> >>> I'm using OpenWRT with kernel 4.14.37. I added the following patch >>> in order to load the crash kernel: >>> >>> --- a/arch/arm/mach-qcom/platsmp.c >>> +++ b/arch/arm/mach-qcom/platsmp.c >>> @@ -332,6 +332,12 @@ static void __init qcom_smp_prepare_cpus >>> } >>> } >>> >>> +/* Needed by kexec and platform_can_cpu_hotplug() */ >>> +int qcom_cpu_kill(unsigned int cpu) >>> +{ >>> + return 1; >>> +} >>> + >>> static const struct smp_operations smp_msm8660_ops __initconst = { >>> .smp_prepare_cpus = qcom_smp_prepare_cpus, >>> .smp_secondary_init = qcom_secondary_init, >>> @@ -358,6 +364,7 @@ static const struct smp_operations qcom_ >>> .smp_boot_secondary = kpssv2_boot_secondary, >>> #ifdef CONFIG_HOTPLUG_CPU >>> .cpu_die = qcom_cpu_die, >>> + .cpu_kill = qcom_cpu_kill, >>> #endif >>> }; >>> CPU_METHOD_OF_DECLARE(qcom_smp_kpssv2, "qcom,kpss-acc-v2", >>> &qcom_smp_kpssv2_ops); >>> >>> >>> Thanks, >>> >>> Andy > > Hi Sricharan, > > Thanks for your response. Did you get a chance to try this out? If > so, were you able to reproduce? > I have been trying to kexec while chroot'ing for a different reason. I did not observe a issue so far. But that is with a 4.4.60 openwrt kernel. Can you point me a link to the kernel that you are trying with ? Regards, Sricharan -- "QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-06-28 4:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-16 1:07 kexec failures on ipq4019 Andy Strohman
[not found] ` <CAAGQ2nQNQ-aFkcrQHNA6H5TZ1tTovtfO_0Ohfndn9jXy13Hc6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-06-18 6:31 ` sricharan-sgV2jX0FEOL9JmXXK+q4OQ
[not found] ` <b741eca8c2d1bee8a8db7136c3061064-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-06-26 21:17 ` Andy Strohman
[not found] ` <CAAGQ2nSG2QGHrOv+S77qTs8hdMgEEsNBFoDGa9wLiEKE1nDZmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-06-28 4:33 ` Sricharan R
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox