Re: 2.6.17-mm2 hrtimer code wedges at boot?

From: Roman Zippel
Date: Tue Jun 27 2006 - 13:09:08 EST


Hi,

On Tue, 27 Jun 2006, Valdis.Kletnieks@xxxxxx wrote:

> On Tue, 27 Jun 2006 12:16:15 +0200, Roman Zippel said:
>
> > Could you please try the patch below?
> > tv_nsec can shortly become negative, but its absolute value will always be
> > smaller then the current nsec offset.
>
> > Index: linux-2.6-mm/kernel/timer.c
> > ===================================================================
> > --- linux-2.6-mm.orig/kernel/timer.c 2006-06-27 11:59:19.000000000 +0200
> > +++ linux-2.6-mm/kernel/timer.c 2006-06-27 12:10:28.000000000 +0200
> > @@ -1129,7 +1129,7 @@ static void update_wall_time(void)
> > clocksource_adjust(clock, offset);
> >
> > /* store full nanoseconds into xtime */
> > - xtime.tv_nsec = clock->xtime_nsec >> clock->shift;
> > + xtime.tv_nsec = (s64)clock->xtime_nsec >> clock->shift;
> > clock->xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
> >
> > /* check to see if there is a new clocksource to use */
>
> Sorry Roman... This may indeed be a legitimate bugfix, but it doesn't
> fix the problem I'm seeing. I've been doing the mm-bisect polka for a bit,
> and have it narrowed down to this set of patches:

I'm afraid the problem is somehow related, in the longer boot log one can
see the edi counting down, so I think it's likely in timespec_add_ns().
What's weird is that you can trigger it this easily...

bye, Roman
-
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/