[PATCH v12 16/16] arm64: kdump: relax BUG_ON() if more than one cpus are still active
AKASHI Takahiro
takahiro.akashi at linaro.org
Tue Dec 15 21:51:09 PST 2015
On 12/16/2015 02:05 AM, Will Deacon wrote:
> On Tue, Nov 24, 2015 at 10:25:34PM +0000, Geoff Levand wrote:
>> From: AKASHI Takahiro <takahiro.akashi at linaro.org>
>>
>> We should try best in case of kdump.
>> So even if not all secondary cpus have shut down, we do kdump anyway.
>> ---
>> arch/arm64/kernel/machine_kexec.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
>> index d2d7e90..482aae7 100644
>> --- a/arch/arm64/kernel/machine_kexec.c
>> +++ b/arch/arm64/kernel/machine_kexec.c
>> @@ -148,7 +148,13 @@ void machine_kexec(struct kimage *kimage)
>> phys_addr_t reboot_code_buffer_phys;
>> void *reboot_code_buffer;
>>
>> - BUG_ON(num_online_cpus() > 1);
>> + if (num_online_cpus() > 1) {
>> + if (in_crash_kexec)
>> + pr_warn("kdump might fail because %d cpus are still online\n",
>> + num_online_cpus());
>> + else
>> + BUG();
>> + }
>
> Can you just rewrite the existing BUG_ON as:
>
> BUG_ON(num_online_cpus() && !WARN_ON(in_crash_kexec));
>
> ?
Yes, but
BUG_ON((num_online_cpus() > 1) && !WARN_ON(in_crash_kexec));
Thanks,
-Takahiro AKASHI
> Will
>
More information about the kexec
mailing list