[PATCH v2 10/11] PM / Hibernate: clean cached pages on architectures that require it
James Morse
james.morse at arm.com
Thu Nov 26 06:23:37 PST 2015
On 27/10/15 17:29, James Morse wrote:
> Some architectures require code written to memory as if it were data to be
> 'cleaned' from any data caches so that the processor can fetch them as new
> instructions.
>
> During resume from hibernate, the snapshot code copies some pages directly,
> meaning these architectures do not get a chance to perform their cache
> maintenance. Add a call to flush_icache_range(), which is provided by
> architectures that require it, to perform the maintenance.
>
> This mirrors the kernel's behaviour when loading kernel modules and when
> mapping executable pages to user space.
While trying to benchmark the impact of this patch on 32bit ARM, I've
discovered the fix is in the wrong place! do_copy_page() isn't used on
the resume path for the pages restored 'in place'.
I will produce another version of the series - hopefully later today.
James
More information about the linux-arm-kernel
mailing list