From: Thomas Gleixner <tglx@linutronix.de>
To: Parag Warudkar <parag.warudkar@gmail.com>
Cc: Len Brown <lenb@kernel.org>,
Arjan van de Ven <arjan@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: soft lockup - CPU#1 stuck for 15s! [swapper:0]
Date: Wed, 9 Jan 2008 12:56:39 +0100 (CET) [thread overview]
Message-ID: <alpine.LFD.0.99999.0801091248310.31637@localhost.localdomain> (raw)
In-Reply-To: <alpine.LFD.0.99999.0712172208500.3670@localhost.localdomain>
On Mon, 17 Dec 2007, Thomas Gleixner wrote:
> I try to come up with some more debug patches tomorrow.
Sorry took a bit longer than a day :(
Can you apply the patch below + the debug patch which prints the timer
stats on softlockup and provide the output of this.
Thanks,
tglx
diff --git a/include/linux/tick.h b/include/linux/tick.h
index f4a1395..22d921f 100644
--- a/include/linux/tick.h
+++ b/include/linux/tick.h
@@ -39,6 +39,8 @@ enum tick_nohz_mode {
* @idle_calls: Total number of idle calls
* @idle_sleeps: Number of idle calls, where the sched tick was stopped
* @idle_entrytime: Time when the idle call was entered
+ * @idle_waketime: Time when the idle was interrupted
+ * @idle_exittime: Time when the idle state was left
* @idle_sleeptime: Sum of the time slept in idle with sched tick stopped
* @sleep_length: Duration of the current idle sleep
*/
@@ -52,6 +54,8 @@ struct tick_sched {
unsigned long idle_calls;
unsigned long idle_sleeps;
ktime_t idle_entrytime;
+ ktime_t idle_waketime;
+ ktime_t idle_exittime;
ktime_t idle_sleeptime;
ktime_t sleep_length;
unsigned long last_jiffies;
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index cb89fa8..206a436 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -133,14 +133,15 @@ void tick_nohz_update_jiffies(void)
if (!ts->tick_stopped)
return;
- touch_softlockup_watchdog();
-
cpu_clear(cpu, nohz_cpu_mask);
now = ktime_get();
local_irq_save(flags);
tick_do_update_jiffies64(now);
local_irq_restore(flags);
+
+ ts->idle_waketime = now;
+ touch_softlockup_watchdog();
}
/**
@@ -369,6 +370,7 @@ void tick_nohz_restart_sched_tick(void)
* Cancel the scheduled timer and restore the tick
*/
ts->tick_stopped = 0;
+ ts->idle_exittime = now;
hrtimer_cancel(&ts->sched_timer);
ts->sched_timer.expires = ts->idle_tick;
diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c
index 12c5f4c..d3d94c1 100644
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -166,6 +166,8 @@ static void print_cpu(struct seq_file *m, int cpu, u64 now)
P(idle_calls);
P(idle_sleeps);
P_ns(idle_entrytime);
+ P_ns(idle_waketime);
+ P_ns(idle_exittime);
P_ns(idle_sleeptime);
P(last_jiffies);
P(next_jiffies);
next prev parent reply other threads:[~2008-01-09 11:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-07 22:53 BUG: " Parag Warudkar
2007-12-07 23:12 ` Pallipadi, Venkatesh
2007-12-07 23:31 ` Parag Warudkar
2007-12-08 2:56 ` Thomas Gleixner
2007-12-08 15:10 ` Parag Warudkar
2007-12-08 15:36 ` Parag Warudkar
2007-12-08 15:47 ` Ingo Molnar
2007-12-08 16:00 ` Parag Warudkar
2007-12-08 19:13 ` Ingo Molnar
2007-12-08 19:33 ` Parag Warudkar
2007-12-08 19:42 ` Ingo Molnar
2007-12-08 20:08 ` Parag Warudkar
2007-12-08 20:11 ` Ingo Molnar
2007-12-08 20:46 ` Parag Warudkar
2007-12-08 20:51 ` Arjan van de Ven
2007-12-08 21:04 ` Parag Warudkar
2007-12-08 23:12 ` Parag Warudkar
2007-12-09 21:57 ` Parag Warudkar
2007-12-09 22:30 ` Arjan van de Ven
2007-12-10 5:49 ` Thomas Gleixner
2007-12-11 4:49 ` Parag Warudkar
2007-12-14 23:17 ` Len Brown
2007-12-15 0:51 ` Parag Warudkar
2007-12-15 8:10 ` Thomas Gleixner
2007-12-15 18:48 ` Parag Warudkar
2007-12-16 5:15 ` Parag Warudkar
2007-12-16 13:43 ` Parag Warudkar
2007-12-17 8:05 ` Thomas Gleixner
2007-12-17 13:08 ` Parag Warudkar
2007-12-17 22:05 ` Thomas Gleixner
2008-01-09 11:56 ` Thomas Gleixner [this message]
2008-01-11 0:31 ` Parag Warudkar
2008-01-11 9:50 ` Thomas Gleixner
2007-12-07 23:17 ` BUG: " Andrew Morton
2007-12-08 2:35 ` Rafael J. Wysocki
2007-12-09 22:42 parag.warudkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.0.99999.0801091248310.31637@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=parag.warudkar@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=venkatesh.pallipadi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®