linux/arch
Lin Ming f34edbc1cd perf, x86: Add a key to simplify template lookup in Pentium-4 PMU
Currently, we use opcode(Event and Event-Selector) + emask to
look up template in p4_templates.

But cache events (L1-dcache-load-misses, LLC-load-misses, etc)
use the same event(P4_REPLAY_EVENT) to do the counting, ie, they
have the same opcode and emask. So we can not use current lookup
mechanism to find the template for cache events.

This patch introduces a "key", which is the index into
p4_templates. The low 12 bits of CCCR are reserved, so we can
hide the "key" in the low 12 bits of hwc->config.

We extract the key from hwc->config and then quickly find the
template.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <1268908387.13901.127.camel@minggr.sh.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-03-18 17:03:51 +01:00
..
alpha alpha: PTR_ERR overwrites -EINVAL in syscall osf_mount 2010-03-06 11:26:27 -08:00
arm perf: Provide generic perf_sample_data initialization 2010-03-10 13:22:23 +01:00
avr32 USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
blackfin Merge branch 'master' into percpu 2010-02-02 14:38:15 +09:00
cris cris v32: typo in crisv32_arbiter_unwatch()? 2010-03-06 11:26:28 -08:00
frv frv: remove pci_dma_sync_single() and pci_dma_sync_sg() 2010-03-06 11:26:27 -08:00
h8300 m68k{,nommu}/h8300: Remove obsolete comment about map_chunk 2010-02-27 18:27:14 +01:00
ia64 Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
m32r Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
m68k Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
m68knommu m68knommu: NPTL support for uClinux 2010-02-27 18:35:22 +01:00
microblaze Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
mips sysdev: Pass attribute in sysdev_class attributes show/store 2010-03-07 17:04:47 -08:00
mn10300 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
parisc parisc: use __ratelimit in unaligned.c 2010-03-06 22:54:59 +00:00
powerpc perf, ppc: Fix compile error due to new cpu notifiers 2010-03-11 15:21:27 +01:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-03-08 10:17:20 -08:00
score Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
sh perf: Rework and fix the arch CPU-hotplug hooks 2010-03-10 13:22:24 +01:00
sparc perf: Provide generic perf_sample_data initialization 2010-03-10 13:22:23 +01:00
um elf coredump: add extended numbering support 2010-03-06 11:26:46 -08:00
x86 perf, x86: Add a key to simplify template lookup in Pentium-4 PMU 2010-03-18 17:03:51 +01:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-03-02 07:55:08 -08:00
.gitignore
Kconfig kprobes: Hide CONFIG_OPTPROBES and set if arch supports optimized kprobes 2010-03-16 11:07:23 +01:00