diff options
author | Michal Simek <monstr@monstr.eu> | 2010-06-10 16:02:32 +0200 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2010-08-04 10:22:36 +0200 |
commit | d0f140e03e38dc553a0bb61611c15fcede671f23 (patch) | |
tree | 0d4cdc4e6d48b209ec9c6f65de73889c1d8454b1 /arch/microblaze/kernel/process.c | |
parent | 6f34b08f58f5097bb408e188e09cda75e61ee513 (diff) | |
download | talos-op-linux-d0f140e03e38dc553a0bb61611c15fcede671f23.tar.gz talos-op-linux-d0f140e03e38dc553a0bb61611c15fcede671f23.zip |
microblaze: Do not trace cpu_relax function
IRQsoff tracer requires to protect cpu_idle function
to get correct timing report.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/kernel/process.c')
-rw-r--r-- | arch/microblaze/kernel/process.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c index 09bed44dfcd3..ba7c4b16ed35 100644 --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c @@ -76,8 +76,11 @@ __setup("hlt", hlt_setup); void default_idle(void) { if (likely(hlt_counter)) { - while (!need_resched()) - cpu_relax(); + local_irq_disable(); + stop_critical_timings(); + cpu_relax(); + start_critical_timings(); + local_irq_enable(); } else { clear_thread_flag(TIF_POLLING_NRFLAG); smp_mb__after_clear_bit(); |