Re: [PATCH] timekeeping: drop irq-context clocksource polling

From: Daniel Walker
Date: Sat Apr 07 2007 - 13:45:20 EST


On Sat, 2007-04-07 at 03:19 -0700, Andrew Morton wrote:
> On Thu, 05 Apr 2007 14:03:16 -0700 Daniel Walker <dwalker@xxxxxxxxxx> wrote:
>
> > Before this change the timekeeping code would poll the clocksource
> > list every interrupt. This changes that so the clocksource list is
> > only checked when there has been and update, and no longer checks
> > in interrupt context.
>
> I get a complete lockup on i386 SMP - before the kernel has printed anything.
>
> I'm suspecting a recursive taking of xtime_lock.

Looks like this path ,

arch/i386/kernel/tsc.c: time_cpufreq_notifier(); <-- takes xtime_lock
mark_tsc_unstable();
clocksource_change_rating(&clocksource_tsc, 0);
timekeeping_change_clocksource(); <-- takes xtime_lock


I'm not sure why the time_cpufreq_notifier is taking the xtime_lock tho .

Daniel

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