OSDN Git Service

arm64: prefetch: add alternative pattern for CPUs without a prefetcher
authorWill Deacon <will.deacon@arm.com>
Tue, 2 Feb 2016 12:46:24 +0000 (12:46 +0000)
committerAlex Shi <alex.shi@linaro.org>
Wed, 11 May 2016 14:19:18 +0000 (22:19 +0800)
commit742e490adaa444e9657528ef38dde35f2916c793
treeaca0779ee72638735f2e3b26034fd909c60442b1
parent41cb2829d020e4fdaeb5eb9286153f4c7dc8e7dd
arm64: prefetch: add alternative pattern for CPUs without a prefetcher

Most CPUs have a hardware prefetcher which generally performs better
without explicit prefetch instructions issued by software, however
some CPUs (e.g. Cavium ThunderX) rely solely on explicit prefetch
instructions.

This patch adds an alternative pattern (ARM64_HAS_NO_HW_PREFETCH) to
allow our library code to make use of explicit prefetch instructions
during things like copy routines only when the CPU does not have the
capability to perform the prefetching itself.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Tested-by: Andrew Pinski <apinski@cavium.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit d5370f754875460662abe8561388e019d90dd0c4)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/cputype.h
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/cpufeature.c