linux-stable-rt/arch/x86/kernel
Steven Rostedt 14a866c567 ftrace: add ftrace_graph_stop()
Impact: new ftrace_graph_stop function

While developing more features of function graph, I hit a bug that
caused the WARN_ON to trigger in the prepare_ftrace_return function.
Well, it was hard for me to find out that was happening because the
bug would not print, it would just cause a hard lockup or reboot.
The reason is that it is not safe to call printk from this function.

Looking further, I also found that it calls unregister_ftrace_graph,
which grabs a mutex and calls kstop machine. This would definitely
lock the box up if it were to trigger.

This patch adds a fast and safe ftrace_graph_stop() which will
stop the function tracer. Then it is safe to call the WARN ON.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-12-03 08:56:23 +01:00
..
acpi ACPI: pci_link: remove acpi_irq_balance_set() interface 2008-11-11 21:12:05 -05:00
cpu Merge commit 'v2.6.28-rc7'; branch 'x86/dumpstack' into tracing/ftrace 2008-12-03 08:55:34 +01:00
.gitignore
Makefile Merge commit 'v2.6.28-rc7'; branch 'x86/dumpstack' into tracing/ftrace 2008-12-03 08:55:34 +01:00
alternative.c
amd_iommu.c AMD IOMMU: check for next_bit also in unmapped area 2008-11-18 15:44:43 +01:00
amd_iommu_init.c AMD IOMMU: fix fullflush comparison length 2008-11-18 15:44:42 +01:00
aperture_64.c
apic.c enable_IR_x2apic() needs to be __init 2008-11-30 10:03:37 -08:00
apm_32.c
asm-offsets.c
asm-offsets_32.c
asm-offsets_64.c x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
audit_64.c
bios_uv.c
bootflag.c
cpuid.c
crash.c
crash_dump_32.c
crash_dump_64.c
doublefault_32.c
ds.c x86, bts, ptrace: move BTS buffer allocation from ds.c into ptrace.c 2008-11-25 17:31:12 +01:00
dumpstack.c x86: unify appropriate bits from dumpstack_32 and dumpstack_64 2008-10-27 19:21:19 +01:00
dumpstack.h x86: unify appropriate bits from dumpstack_32 and dumpstack_64 2008-10-27 19:21:19 +01:00
dumpstack_32.c x86: unify appropriate bits from dumpstack_32 and dumpstack_64 2008-10-27 19:21:19 +01:00
dumpstack_64.c x86: unify appropriate bits from dumpstack_32 and dumpstack_64 2008-10-27 19:21:19 +01:00
e820.c x86: Clean up late e820 resource allocation 2008-11-01 10:17:22 -07:00
early-quirks.c Revert "x86: blacklist DMAR on Intel G31/G33 chipsets" 2008-11-15 11:37:16 -08:00
early_printk.c
efi.c
efi_32.c
efi_64.c
efi_stub_32.S
efi_stub_64.S
entry_32.S ftrace: have function graph use mcount caller address 2008-12-03 08:56:22 +01:00
entry_64.S ftrace: have function graph use mcount caller address 2008-12-03 08:56:22 +01:00
es7000_32.c x86: fix es7000 compiling 2008-11-16 10:05:07 +01:00
ftrace.c ftrace: add ftrace_graph_stop() 2008-12-03 08:56:23 +01:00
genapic_64.c
genapic_flat_64.c x86: fix section mismatch warning - apic_physflat 2008-10-22 17:36:27 +02:00
genx2apic_cluster.c x86: fix section mismatch warning - apic_x2apic_cluster 2008-10-22 17:36:29 +02:00
genx2apic_phys.c x86: fix section mismatch warning - apic_x2apic_phys 2008-10-22 17:36:30 +02:00
genx2apic_uv_x.c x86/uv: memory allocation at initialization 2008-10-27 14:17:16 +01:00
geode_32.c
head.c
head32.c
head64.c
head_32.S
head_64.S
hpet.c x86: HPET: enter hpet_interrupt_handler with interrupts disabled 2008-11-10 17:38:07 +01:00
i386_ksyms_32.c
i387.c x86: fix __cpuinit/__init tangle in init_thread_xstate() 2008-11-20 16:43:41 +01:00
i8237.c
i8253.c
i8259.c
init_task.c
io_apic.c Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-30 13:06:20 -08:00
io_delay.c
ioport.c
ipi.c
irq.c
irq_32.c
irq_64.c
irqinit_32.c
irqinit_64.c
k8.c x86, gart: fix gart detection for Fam11h CPUs 2008-10-28 17:10:27 +01:00
kdebugfs.c
kgdb.c
kprobes.c
kvm.c
kvmclock.c kvm_setup_secondary_clock() is cpuinit 2008-11-30 10:03:37 -08:00
ldt.c
machine_kexec_32.c x86, kdump: fix invalid access on i386 sparsemem 2008-10-28 16:48:24 +01:00
machine_kexec_64.c
mca_32.c
mfgpt_32.c
microcode_amd.c x86: AMD microcode patch loader author update 2008-10-28 16:41:28 +01:00
microcode_core.c x86: microcode patch loader author update 2008-10-28 16:41:16 +01:00
microcode_intel.c
mmconf-fam10h_64.c
module_32.c
module_64.c
mpparse.c
msr.c
nmi.c
numaq_32.c
olpc.c
paravirt-spinlocks.c
paravirt.c
paravirt_patch_32.c
paravirt_patch_64.c
pci-calgary_64.c arch/x86/kernel/pci-calgary_64.c: change simple_strtol to simple_strtoul 2008-11-25 15:56:03 +01:00
pci-dma.c x86/PCI: build failure at x86/kernel/pci-dma.c with !CONFIG_PCI 2008-10-24 11:09:43 -07:00
pci-gart_64.c x86, gart: fix gart detection for Fam11h CPUs 2008-10-28 17:10:27 +01:00
pci-nommu.c
pci-swiotlb_64.c x86: restore the old swiotlb alloc_coherent behavior 2008-10-23 21:54:40 +02:00
pcspeaker.c
pmtimer_64.c
probe_roms_32.c
process.c tracing: add "power-tracer": C/P state tracer to help power optimization 2008-11-26 08:29:32 +01:00
process_32.c
process_64.c Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
ptrace.c x86, bts, ptrace: move BTS buffer allocation from ds.c into ptrace.c 2008-11-25 17:31:12 +01:00
pvclock.c
quirks.c
reboot.c x86: quirk for reboot stalls on a Dell Optiplex 330 2008-11-18 22:22:29 +01:00
reboot_fixups_32.c
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c
scx200_32.c
setup.c x86: more general identifier for Phoenix BIOS 2008-11-18 16:11:36 +01:00
setup_percpu.c x86: remove redundant KERN_DEBUG on pr_debug 2008-10-22 16:56:22 +02:00
sigframe.h
signal_32.c
signal_64.c
smp.c
smpboot.c x86: do_boot_cpu - check if we have ESR register 2008-10-22 16:56:16 +02:00
smpcommon.c
stacktrace.c tracing/stack-tracer: fix style issues 2008-11-23 11:53:48 +01:00
step.c
summit_32.c
sys_i386_32.c
sys_x86_64.c
syscall_64.c x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
syscall_table_32.S
tce_64.c
test_nx.c
test_rodata.c
time_32.c
time_64.c
tlb_32.c x86: add smp_mb() before sending INVALIDATE_TLB_VECTOR 2008-11-06 09:41:49 +01:00
tlb_64.c x86: add smp_mb() before sending INVALIDATE_TLB_VECTOR 2008-11-06 09:41:49 +01:00
tlb_uv.c x86/tlb_uv: remove strange mc146818rtc include 2008-10-22 16:56:23 +02:00
tls.c
tls.h
topology.c
trampoline.c
trampoline_32.S
trampoline_64.S
traps.c
tsc.c sched: optimize sched_clock() a bit 2008-11-08 17:05:38 +01:00
tsc_sync.c x86: add rdtsc barrier to TSC sync check 2008-11-18 00:15:02 +01:00
uv_irq.c
uv_sysfs.c
verify_cpu_64.S
visws_quirks.c
vm86_32.c
vmi_32.c
vmiclock_32.c
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S
vsmp_64.c x86: two trivial sparse annotations 2008-10-29 08:02:28 +01:00
vsyscall_64.c trace: rename unlikely profiler to branch profiler 2008-11-12 22:27:58 +01:00
x8664_ksyms_64.c
xsave.c x86: fixing __cpuinit/__init tangle, xsave_cntxt_init() 2008-11-20 16:43:42 +01:00