ARC: perf: avoid vmalloc backed mmap
authorVineet Gupta <vgupta@synopsys.com>
Wed, 28 Sep 2016 18:53:17 +0000 (11:53 -0700)
committerVineet Gupta <vgupta@synopsys.com>
Tue, 21 Nov 2017 23:21:08 +0000 (15:21 -0800)
For non-alising Dcache, vmalloc is not needed.

vmalloc triggers additonal D-TLB Misses in the perf interrupt code path
making it slightly inefficient as evident from hackbench runs below.

| [ARCLinux]# perf stat -e dTLB-load-misses --repeat 5 hackbench
| Running with 10*40 (== 400) tasks.
| Time: 35.060
| ...
| Performance counter stats for 'hackbench' (5 runs):

Before:      399235      dTLB-load-misses ( +-  2.08% )
After :      397676      dTLB-load-misses ( +-  2.27% )

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/Kconfig

index c84e67fdea095cbed225edac052f4ce07007abb9..f3cad98eeb8f9e1506bd6a138e526a2e53742abd 100644 (file)
@@ -39,7 +39,7 @@ config ARC
        select OF
        select OF_EARLY_FLATTREE
        select OF_RESERVED_MEM
        select OF
        select OF_EARLY_FLATTREE
        select OF_RESERVED_MEM
-       select PERF_USE_VMALLOC
+       select PERF_USE_VMALLOC if ARC_CACHE_VIPT_ALIASING
        select HAVE_DEBUG_STACKOVERFLOW
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_KERNEL_GZIP
        select HAVE_DEBUG_STACKOVERFLOW
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_KERNEL_GZIP