linux/arch/x86
Frederic Weisbecker f201ae2356 tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically
Impact: use deeper function tracing depth safely

Some tests showed that function return tracing needed a more deeper depth
of function calls. But it could be unsafe to store these return addresses
to the stack.

So these arrays will now be allocated dynamically into task_struct of current
only when the tracer is activated.

Typical scheme when tracer is activated:
- allocate a return stack for each task in global list.
- fork: allocate the return stack for the newly created task
- exit: free return stack of current
- idle init: same as fork

I chose a default depth of 50. I don't have overruns anymore.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-23 09:17:26 +01:00
..
boot .gitignore updates 2008-10-30 11:38:45 -07:00
configs x86: remove irqbalance in kernel for 32 bit 2008-10-16 16:52:52 +02:00
crypto crypto: crc32c - Use Intel CRC32 instruction 2008-08-29 15:49:50 +10:00
ia32 compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
include/asm tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically 2008-11-23 09:17:26 +01:00
kernel tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically 2008-11-23 09:17:26 +01:00
kvm KVM: Fix pit memory leak if unable to allocate irq source id 2008-11-11 21:01:51 +02:00
lguest lguest: fix irq vectors. 2008-10-31 11:24:28 +11:00
lib Merge branch 'x86/unify-cpu-detect' into x86-v28-for-linus-phase4-D 2008-10-11 20:23:20 +02:00
mach-default Merge branches 'x86/prototypes', 'x86/x2apic' and 'x86/debug' into x86/core 2008-08-14 14:58:22 +02:00
mach-generic x86: make 32bit support per_cpu vector 2008-10-16 16:52:53 +02:00
mach-rdc321x removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
mach-voyager x86, voyager: fix smp generic helper voyager breakage 2008-11-11 12:08:53 +01:00
math-emu
mm Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core 2008-11-23 09:10:32 +01:00
oprofile oprofile: Fix p6 counter overflow check 2008-11-07 17:34:41 +01:00
pci x86/PCI: irq and pci_ids patch for Intel Ibex Peak DeviceIDs 2008-10-20 10:53:48 -07:00
power x86, hibernate: fix breakage on x86_32 with CONFIG_NUMA set 2008-11-12 23:28:51 +01:00
vdso trace: rename unlikely profiler to branch profiler 2008-11-12 22:27:58 +01:00
video
xen Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-07 09:17:59 -08:00
Kconfig Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core 2008-11-23 09:10:32 +01:00
Kconfig.cpu x86, bts: improve help text for BTS config 2008-10-28 16:39:37 +01:00
Kconfig.debug trace: add the MMIO-tracer to the tracer menu, cleanup 2008-10-27 14:07:26 +01:00
Makefile x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
Makefile_32.cpu x86: merge winchip-2 and winchip-2a cpu choices 2008-10-13 10:22:48 +02:00