I'm running 2.3.99pre9 on a non-overclocked dual PIII-450 (Intel N440BX mobo). I've had system clock problems forever, and they seem to have something to do with my XiG Accelerated X server. (I have a 3Dfx Voodoo 3000 PCI video card). In 2.3.99pre9, I tracked the problem down to the i8253 timer read in linux/arch/i386/kernel/time.c:431 timer_interrupt: the value read from the countdown timer is greater than what the time constant should be, which causes all sorts of signed/unsigned problems, and results in the clock jumping around erratically. I added code to re-read the timer if the value is too large (thinking that perhaps the timer interrupt was happening in the middle of somebody else's timer read), but most of the time, the second read is also out of range. Now I reset the time constant if the second read is bad, and the system is fairly happy. I can reliably cause the problem to occur by running the decayscreen screensaver hack from xscreensaver-3.24 in fullscreen mode, but there's nothing particularly scary in the decayscreen code, and the binary is not setuid. I'm at a loss for how to proceed: even when the time constant appears to have been changed, the system still gets interrupted 100 times/sec, and about 5-10% of the time, simply re-reading the counter gives a reasonable count. I'm inclined to write it off to flaky hardware and live with the kernel hack, but thought I'd let the world at large know in case it fits in with somebody else's puzzle. regards, d. - Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/dmentre/smp-howto/ To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]
