Re: soft lockup - CPU#1 stuck for 15s! [swapper:0]

From: Ingo Molnar
Date: Sat Dec 08 2007 - 10:48:41 EST



* Parag Warudkar <parag.warudkar@xxxxxxxxx> wrote:

> [<c0438293>] tick_broadcast_oneshot_control+0x10/0xda
> [<c0437ce2>] tick_notify+0x1d4/0x2eb
> [<c04281bc>] get_next_timer_interrupt+0x143/0x1b4
> [<c06058a1>] notifier_call_chain+0x2a/0x47
> [<c04345c0>] raw_notifier_call_chain+0x17/0x1a
> [<c043781e>] clockevents_notify+0x19/0x4f
> [<c0533d23>] acpi_idle_enter_simple+0x183/0x1d0
> [<c058cf03>] cpuidle_idle_call+0x53/0x78
> [<c058ceb0>] cpuidle_idle_call+0x0/0x78
> [<c0402575>] cpu_idle+0x97/0xb8
> =======================
> BUG: soft lockup - CPU#1 stuck for 11s! [vim:3736]

does the patch below help? But the root cause is likely some timer
problems - do you get consistent results from:

while :; do time usleep 1111111; done

or do these sleeps fluctuate?

Ingo

Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -774,6 +774,7 @@ void sched_clock_idle_wakeup_event(u64 d
struct rq *rq = cpu_rq(smp_processor_id());
u64 now = sched_clock();

+ touch_softlockup_watchdog();
rq->idle_clock += delta_ns;
/*
* Override the previous timestamp and ignore all
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/