diff options
Diffstat (limited to 'tools/perf/util/util.c')
-rw-r--r-- | tools/perf/util/util.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 1019bbc5dbd8..99ab52165680 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c | |||
@@ -38,7 +38,26 @@ void perf_set_multithreaded(void) | |||
38 | } | 38 | } |
39 | 39 | ||
40 | unsigned int page_size; | 40 | unsigned int page_size; |
41 | int cacheline_size; | 41 | |
42 | #ifdef _SC_LEVEL1_DCACHE_LINESIZE | ||
43 | #define cache_line_size(cacheline_sizep) *cacheline_sizep = sysconf(_SC_LEVEL1_DCACHE_LINESIZE) | ||
44 | #else | ||
45 | static void cache_line_size(int *cacheline_sizep) | ||
46 | { | ||
47 | if (sysfs__read_int("devices/system/cpu/cpu0/cache/index0/coherency_line_size", cacheline_sizep)) | ||
48 | pr_debug("cannot determine cache line size"); | ||
49 | } | ||
50 | #endif | ||
51 | |||
52 | int cacheline_size(void) | ||
53 | { | ||
54 | static int size; | ||
55 | |||
56 | if (!size) | ||
57 | cache_line_size(&size); | ||
58 | |||
59 | return size; | ||
60 | } | ||
42 | 61 | ||
43 | int sysctl_perf_event_max_stack = PERF_MAX_STACK_DEPTH; | 62 | int sysctl_perf_event_max_stack = PERF_MAX_STACK_DEPTH; |
44 | int sysctl_perf_event_max_contexts_per_stack = PERF_MAX_CONTEXTS_PER_STACK; | 63 | int sysctl_perf_event_max_contexts_per_stack = PERF_MAX_CONTEXTS_PER_STACK; |