powerpc: Enable DCACHE_WORD_ACCESS on ppc64le
authorAnton Blanchard <anton@samba.org>
Thu, 18 Sep 2014 23:40:21 +0000 (09:40 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 30 Sep 2014 04:59:13 +0000 (14:59 +1000)
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>
arch/powerpc/Kconfig

index ece1c01ddb2f144a7bca7311522d88d0b7f959dd..56da47247fcc3cb13df2b3ea44d89a0fac989217 100644 (file)
@@ -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