[PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory

Kostiantyn Iarmak kiarmak at cisco.com
Wed Apr 4 05:45:59 PDT 2018


Hi Pratyush,

From: Pratyush Anand <panand at redhat.com>
> Date: Fri, Jun 2, 2017 at 5:42 PM
> Subject: Re: [PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory
> To: James Morse <james.morse at arm.com>
> Cc: mark.rutland at arm.com, bhe at redhat.com, kexec at lists.infradead.org,
> horms at verge.net.au, dyoung at redhat.com,
> linux-arm-kernel at lists.infradead.org
>
>
> Hi James,
>
> On Friday 02 June 2017 01:53 PM, James Morse wrote:
>> Hi Pratyush,
>>
>> On 23/05/17 06:02, Pratyush Anand wrote:
>>> It takes more that 2 minutes to verify SHA in purgatory when vmlinuz image
>>> is around 13MB and initramfs is around 30MB. It takes more than 20 second
>>> even when we have -O2 optimization enabled. However, if dcache is enabled
>>> during purgatory execution then, it takes just a second in SHA
>>> verification.
>>>
>>> Therefore, these patches adds support for dcache enabling facility during
>>> purgatory execution.
>>
>> I'm still not convinced we need this. Moving the SHA verification to happen
>> before the dcache+mmu are disabled would also solve the delay problem,
>
> Humm..I am not sure, if we can do that.
>
> When we leave kernel (and enter into purgatory), icache+dcache+mmu are
> already disabled. I think, that would be possible when we will be in a
> position to use in-kernel purgatory.
>
>> and we
>> can print an error message or fail the syscall.
>>
>> For kexec we don't expect memory corruption, what are we testing for?
>> I can see the use for kdump, but the kdump-kernel is unmapped so the kernel
>> can't accidentally write over it.
>>
>> (we discussed all this last time, but it fizzled-out. If you and the
>>   kexec-tools maintainer think its necessary, fine by me!)
>
> Yes, there had already been discussion and MAINTAINERs have
> discouraged none-purgatory implementation.
>
>> I have some comments on making this code easier to maintain..
>>
> Thanks.
>
> I have implemented your review comments and have archived the code in
>
> https://github.com/pratyushanand/kexec-tools.git : purgatory-enable-dcache
>
> I will be posting the next version only when someone complains about
> ARM64 kdump behavior that it is not as fast as x86.
On our ARM64-based platform we have very long main kernel-secondary 
kernel switch time.

This patch set fixes the issue (we are using 4.4 kernel and 2.0.13 
kexec-tools version), we can get ~25x speedup, with this patch secondary 
kernel boots in ~3 seconds while on 2.0.13-2.0.16 kexec-tools without 
this patch switch takes about 75 seconds.

When do you plan merge this patch?

I can help you with testing on our platform.

> Thanks for all your time on this series. That really helped me to
> understand the arm64 page table in a better way.
>
> ~Pratyush
>
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
Best Regards,

   Kostiantyn Iarmak.




More information about the linux-arm-kernel mailing list