diff options
author | Anton Blanchard <anton@samba.org> | 2014-09-19 09:40:21 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2014-09-30 14:59:13 +1000 |
commit | a75c380c7129c432f8ac9d42ebc170e5f7d9d31e (patch) | |
tree | 938a8c6500995508ffd540c7b860982ca67a955f /arch/powerpc/Kconfig | |
parent | 8989aa4adacd02174d1f72a00af8d669934a2b7a (diff) | |
download | lwn-a75c380c7129c432f8ac9d42ebc170e5f7d9d31e.tar.gz lwn-a75c380c7129c432f8ac9d42ebc170e5f7d9d31e.zip |
powerpc: Enable DCACHE_WORD_ACCESS on ppc64le
Enable on DCACHE_WORD_ACCESS on ppc64le. It should work on
ppc64 and ppc32 but we need to do some testing first.
A somewhat reasonable testcase used to show the performance
improvement - a repeated stat of a 33 byte filename that
doesn't exist:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#define ITERATIONS 10000000
#define PATH "123456781234567812345678123456781"
int main(void)
{
unsigned long i;
struct stat buf;
for (i = 0; i < ITERATIONS; i++)
stat(PATH, &buf);
return 0;
}
runs 27% faster on POWER8.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index ece1c01ddb2f..56da47247fcc 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -147,6 +147,7 @@ config PPC select ARCH_USE_CMPXCHG_LOCKREF if PPC64 select HAVE_ARCH_AUDITSYSCALL select ARCH_SUPPORTS_ATOMIC_RMW + select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN config GENERIC_CSUM def_bool CPU_LITTLE_ENDIAN |