2000-10-30 15:24:12

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: Possible critical VIA vt82c686a chip bug

On Mon, Oct 30, 2000 at 11:36:10AM +0000, Mark Cooke wrote:

> As a followup - I modified your reset patch to work with 2.2.x, and in
> doing so, I noticed that it is only the slow get time of day (not
> using TSC) that is affected. I have my kernel compiled with TSC, so
> my apparent clock jumping (screen saver starting at odd times) is
> probably not actually due to the timer messing up. (Though I did
> manage initially to convince myself that it had made a difference.
> Good ol' placebo effect in action).
>
> I guess that the other places where the timer's used could be causing
> some trouble though. As I have TSC enabled, any reset of the timer's
> not going to get corrected by the patch.
>
> I'll throw together a program to check for gettimeofday jumping when
> I next have a few minutes to chase this further.

I don't think so. If you check the code paths more closely, you'll see
that the timer is used even in the fast TSC case, the error causes by
too big 'count' variable propagates up to the TSC routine. That's where
I started hunting for the bug.

So no, it wasn't a placebo effect. Put a printk() in the fix statement
to see if it's triggered.

--
Vojtech Pavlik
SuSE Labs


2000-10-30 15:31:54

by Mark Cooke

[permalink] [raw]
Subject: Re: Possible critical VIA vt82c686a chip bug

On Mon, 30 Oct 2000, Vojtech Pavlik wrote:

> I don't think so. If you check the code paths more closely, you'll see
> that the timer is used even in the fast TSC case, the error causes by
> too big 'count' variable propagates up to the TSC routine. That's where
> I started hunting for the bug.
>
> So no, it wasn't a placebo effect. Put a printk() in the fix statement
> to see if it's triggered.

Mmmm. Okay. Maybe I fixed the 'wrong' place, but the place I 'fixed'
was in do_slow_gettimeoffset, which is inside #ifndef CONFIG_X86_TSC.

I'll compile with a printk in there at home tonight though.

*peers more closely* Ho-ho. I see. There's one further down in the
timer interrupt itself. Oops. My bad.

Cheers,

Mark

--
+-------------------------------------------------------------------------+
Mark Cooke The views expressed above are mine and are not
Systems Programmer necessarily representative of university policy
University Of Birmingham URL: http://www.sr.bham.ac.uk/~mpc/
+-------------------------------------------------------------------------+