linux/arch
Markus Metzger 5622f295b5 x86, perf_counter, bts: Optimize BTS overflow handling
Draining the BTS buffer on a buffer overflow interrupt takes too
long resulting in a kernel lockup when tracing the kernel.

Restructure perf_counter sampling into sample creation and sample
output.

Prepare a single reference sample for BTS sampling and update the
from and to address fields when draining the BTS buffer. Drain the
entire BTS buffer between a single perf_output_begin() /
perf_output_end() pair.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20090915130023.A16204@sedona.ch.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-09-18 20:43:20 +02:00
..
alpha KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2009-09-11 09:19:35 -07:00
avr32 Merge branch 'next' into for-linus 2009-09-11 08:04:49 +10:00
blackfin blackfin: fix wrong CTS inversion 2009-07-20 16:38:44 -07:00
cris KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
frv KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
h8300 KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
ia64 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:20:18 -07:00
m32r KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
m68k locking, m68k/asm-offsets: Rename signal defines 2009-09-01 09:38:03 +02:00
m68knommu m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open 2009-08-26 23:14:50 +02:00
microblaze microblaze: Update Microblaze defconfigs 2009-08-18 11:05:11 +02:00
mips KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
mn10300 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
parisc Merge branch 'next' into for-linus 2009-09-11 08:04:49 +10:00
powerpc Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:22:43 -07:00
s390 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:24:03 -07:00
sh KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
sparc Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:17:24 -07:00
um mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
x86 x86, perf_counter, bts: Optimize BTS overflow handling 2009-09-18 20:43:20 +02:00
xtensa mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
.gitignore
Kconfig oprofile: Implement performance counter multiplexing 2009-07-20 16:33:53 +02:00