Re: Long timeout when booting >= 2.6.38

From: Thomas Gleixner
Date: Mon May 09 2011 - 04:22:51 EST


On Thu, 5 May 2011, Christian Hoffmann wrote:

> >
> > So we are back to:
> >
> > [ 0.644189] Calling fixup hook: quirk_usb_early_handoff+0x0/0x4a6
> > [ 145.936254] Calling fixup hook: pci_fixup_video+0x0/0xac
> >
> > So we really need to know what's happening there.
> >
> > Can you please apply the following patch and enable
> > CONFIG_FUNCTION_TRACER and add "ftrace=function" on the command line?
> >
> > When the box is up, mount debugfs (mount -t debugfs debugfs
> > /sys/kernel/debug) and read out /sys/kernel/debug/tracing/trace, bzip2
> > it and provide it somewhere for download. If you have no way to do
> > that, mail it to me offlist.
>
> Hi,
>
> trace can be found here:
>
> http://dl.dropbox.com/u/21820416/hanging_2.6.39-rc6.trace.bz2

Thanks, can you please add the following patch and generate another
trace ?

Thanks,

Thomas

--- linux-2.6.orig/kernel/timer.c
+++ linux-2.6/kernel/timer.c
@@ -1268,11 +1268,14 @@ unsigned long get_next_timer_interrupt(u
if (cpu_is_offline(smp_processor_id()))
return now + NEXT_TIMER_MAX_DELTA;
spin_lock(&base->lock);
+ trace_printk("nx: %lx tj: %lx\n", base->next_timer, base->timer_jiffies);
if (time_before_eq(base->next_timer, base->timer_jiffies))
base->next_timer = __next_timer_interrupt(base);
expires = base->next_timer;
spin_unlock(&base->lock);

+ trace_printk("ex: %lx nw: %lx\n", expires, now);
+
if (time_before_eq(expires, now))
return now;

--
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/