[PATCH 0/4] copy_page improvements
Andrew Pinski
apinski at caviumnetworks.com
Fri Feb 5 09:53:48 PST 2016
On 2/2/2016 4:46 AM, Will Deacon wrote:
> Hi all,
>
> This patch series aims to improve our copy_page implementation on both
> CPUs with and without hardware prefetchers. It is inspired by a previous
> patch series from Andrew, and one of the patches is lifted directly from
> there:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2016-January/399132.html
>
> Changes from that series:
>
> * Applies on top of mainline
> * Inverted the capability to the more generic ARM64_HAS_NO_HW_PREFETCH
> * Re-jigged the MIDR detection to try to keep it simple
>
> I've left copy_template alone for now, since the template really deals
> with 64 bytes per iteration, which would need changing.
Right, I had looked at doing that also for newlib/glibc but the code is
too complex.
>
> Andrew -- it would be helpful if you could take this for a spin on
> ThunderX to make sure it didn't screw anything up.
Yes it works and I get the needed prefetch in copy_page.
Tested-by: Andrew Pinski <apinski at cavium.com>
Thanks,
Andrew
>
> Cheers,
>
> Will
>
> --->8
>
> Andrew Pinski (1):
> arm64: lib: patch in prfm for copy_page if requested
>
> Will Deacon (3):
> arm64: prefetch: don't provide spin_lock_prefetch with LSE
> arm64: prefetch: add alternative pattern for CPUs without a prefetcher
> arm64: lib: improve copy_page to deal with 128 bytes at a time
>
> arch/arm64/include/asm/cpufeature.h | 3 +-
> arch/arm64/include/asm/cputype.h | 17 +++++++++-
> arch/arm64/include/asm/processor.h | 7 +++--
> arch/arm64/kernel/cpu_errata.c | 18 ++---------
> arch/arm64/kernel/cpufeature.c | 17 ++++++++++
> arch/arm64/lib/copy_page.S | 63 ++++++++++++++++++++++++++++++++-----
> 6 files changed, 98 insertions(+), 27 deletions(-)
>
More information about the linux-arm-kernel
mailing list