Re: [PATCH -mm] fix jiffies clocksource inittime

From: john stultz
Date: Wed Apr 04 2007 - 16:54:18 EST


On Wed, 2007-04-04 at 13:43 -0700, Andrew Morton wrote:
> On Wed, 04 Apr 2007 12:50:15 -0700
> john stultz <johnstul@xxxxxxxxxx> wrote:
>
> > In debugging a problem w/ the -rt tree, I noticed that on systems that
> > mark the tsc as unstable before it is registered, the TSC would still be
> > selected and used for a short period of time. Digging in it looks to be
> > a result of the mix of the clocksource list changes and my clocksource
> > initialization changes.
> >
> > With the -rt tree, using a bad TSC, even for a short period of time can
> > results in a hang at boot. I was not able to reproduce this hang w/
> > mainline, but I'm not completely certain that someone won't trip on it.
> >
> > This patch resolves the issue by initializing the jiffies clocksource
> > earlier so a bad TSC won't get selected just because nothing else is yet
> > registered.
> >
> > thanks
> > -john
> >
> > Signed-off-by: John Stultz <johnstul@xxxxxxxxxx>
> >
> > diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
> > index 3be8da8..4c256fd 100644
> > --- a/kernel/time/jiffies.c
> > +++ b/kernel/time/jiffies.c
> > @@ -69,4 +69,4 @@ static int __init init_jiffies_clocksour
> > return clocksource_register(&clocksource_jiffies);
> > }
> >
> > -module_init(init_jiffies_clocksource);
> > +core_initcall(init_jiffies_clocksource);
>
> Do you think this is needed in 2.6.21?
>
> If so: worrisome. Startup ordering issues are fragile and tricky. Time
> management is fragile and tricky. The combination of the two doesn't get
> any better ;)

Its likely low-risk, however I'm pretty cautious this close to release.

> An option would be to test it in 2.6.22-rcX for a while, then backport to
> 2.6.21.x.

I'm fine with this (also getting it into the next -mm would help). But
I'd defer to others with stronger opinions.

thanks
-john

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