kernel-fxtec-pro1x/arch/x86/kernel/cpu
Frederic Weisbecker 0ca59dd948 tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3
Impact: fix a crash/hard-reboot on certain configs while enabling cpu runtime

On some archs, the boot of a secondary cpu can have an early fragile state.
On x86-64, the pda is not initialized on the first stage of a cpu boot but
it is needed to get the cpu number and the current task pointer. This data
is needed during tracing. As they were dereferenced at this stage, we got a
crash while tracing a cpu being enabled at runtime.

Some other archs like ia64 can have such kind of issue too.

Changes on v2:

We dropped the previous solution of a per-arch called function to guess the
current state of a cpu. That could slow down the tracing.

This patch removes the -pg flag on arch/x86/kernel/cpu/common.c where
the low level cpu boot functions exist, on start_secondary() and a helper
function used at this stage.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-12-25 09:39:22 +01:00
..
cpufreq Merge commit 'v2.6.28-rc7' into tracing/core 2008-12-04 09:07:19 +01:00
mcheck Update email addresses. 2008-10-20 12:50:03 -07:00
mtrr Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1 2008-10-06 18:17:07 +02:00
.gitignore Update .gitignore files for generated targets 2008-10-20 11:24:31 -07:00
addon_cpuid_features.c x86: use CONFIG_X86_SMP instead of CONFIG_SMP 2008-10-30 22:53:10 +01:00
amd.c x86: print out apic id in hex format 2008-10-16 16:53:09 +02:00
bugs.c x86: fdiv bug detection fix 2008-07-31 23:56:27 +02:00
bugs_64.c x86: move bugs_64.c to cpu/bugs_64.c 2008-06-03 14:43:00 -07:00
centaur.c x86: move mtrr cpu cap setting early in early_init_xxxx 2008-09-06 17:50:55 +02:00
centaur_64.c x86: centaur_64.c remove duplicated setting of CONSTANT_TSC 2008-09-10 08:21:06 +02:00
cmpxchg.c x86: move cmpxchg fallbacks to a generic place 2008-08-18 16:05:47 +02:00
common.c x86: build fix 2008-10-31 09:31:38 +01:00
cpu.h x86: remove duplicated get_model_name() calling 2008-09-06 14:09:12 +02:00
cyrix.c x86: move mtrr cpu cap setting early in early_init_xxxx 2008-09-06 17:50:55 +02:00
intel.c x86, bts: provide in-kernel branch-trace interface 2008-12-12 08:08:12 +01:00
intel_cacheinfo.c Merge branch 'linus' into x86/cpu 2008-08-15 16:16:15 +02:00
Makefile tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 2008-12-25 09:39:22 +01:00
mkcapflags.pl x86: generate names for /proc/cpuinfo from <asm/cpufeature.h> 2008-08-27 19:23:22 -07:00
perfctr-watchdog.c ftrace: mark lapic_wd_event() notrace 2008-10-14 10:34:36 +02:00
powerflags.c x86: generate names for /proc/cpuinfo from <asm/cpufeature.h> 2008-08-27 19:23:22 -07:00
proc.c x86/proc: fix /proc/cpuinfo cpu offline bug 2008-10-22 14:29:37 +02:00
transmeta.c x86: move transmeta cap read to early_init_transmeta() 2008-09-14 14:09:14 +02:00
umc.c x86: remove cpu_vendor_dev 2008-09-04 21:09:45 +02:00