kexec failures on ipq4019

sricharan at codeaurora.org sricharan at codeaurora.org
Sun Jun 17 23:31:07 PDT 2018


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



More information about the kexec mailing list