8326f44da0
Extend generic event enumeration with the PERF_TYPE_HW_CACHE method. This is a 3-dimensional space: { L1-D, L1-I, L2, ITLB, DTLB, BPU } x { load, store, prefetch } x { accesses, misses } User-space passes in the 3 coordinates and the kernel provides a counter. (if the hardware supports that type and if the combination makes sense.) Combinations that make no sense produce a -EINVAL. Combinations that are not supported by the hardware produce -ENOTSUP. Extend the tools to deal with this, and rewrite the event symbol parsing code with various popular aliases for the units and access methods above. So 'l1-cache-miss' and 'l1d-read-ops' are both valid aliases. ( x86 is supported for now, with the Nehalem event table filled in, and with Core2 and Atom having placeholder tables. ) Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Marcelo Tosatti <mtosatti@redhat.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu> |
||
---|---|---|
.. | ||
cpufreq | ||
mcheck | ||
mtrr | ||
.gitignore | ||
addon_cpuid_features.c | ||
amd.c | ||
bugs.c | ||
bugs_64.c | ||
centaur.c | ||
cmpxchg.c | ||
common.c | ||
cpu.h | ||
cpu_debug.c | ||
cyrix.c | ||
hypervisor.c | ||
intel.c | ||
intel_cacheinfo.c | ||
Makefile | ||
mkcapflags.pl | ||
perf_counter.c | ||
perfctr-watchdog.c | ||
powerflags.c | ||
proc.c | ||
transmeta.c | ||
umc.c | ||
vmware.c |