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)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 16 Feb 2016 15:12:32 +0000 (15:12 +0000)
commitd5370f754875460662abe8561388e019d90dd0c4
treee0d0dc7b42147bd44ba5b7c3c5882b484cf8d9a9
parentcd5e10bdf3795d22f10787bb1991c43798c885d5
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>
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/cputype.h
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/cpufeature.c