Re: 2.6.17-mm2 hrtimer code wedges at boot?

From: Valdis . Kletnieks
Date: Thu Jul 06 2006 - 02:37:41 EST


On Thu, 06 Jul 2006 02:37:25 +0200, Roman Zippel said:

> Ok, I see now the problem, the last cycle value is always at least 50
> times incremented between adjustments and that also means any error
> adjustment is applied at least 50 times, which quickly gets out of
> control.
> Is it possible that your console output is really slow? Otherwise I can't
> explain these numbers, everything looks initialized fine for a 1.6GHz
> clock, but it seems to take ages to print a single line.

Oh.. this is a real Homer Simpson moment.... "D'Oh!" :)

The grub definition:

title 2.6.17-mm2 testing
kernel /vmlinuz-2.6.17-mm2-test single console=tty0 vga=794
initrd /initrd-selinux.img

Yes, this laptop has a real actual DB-9 serial port on the back, and I've had
it defined as a console for forever (since trying to debug a problem against
2.5.60 or so). So maybe that's where it's coming from. But a quick boot
test or 3 shows the console=tty0 isn't the problem. It turns out to be
the 'vga=794', which selects this mode:

[ 16.633604] Console: colour dummy device 80x25
[ 17.685983] Console: switching to colour frame buffer device 160x64

And we promptly get a timing problem. I tried booting with 'vga=ask' and
choosing mode 1, and got this mode instead:

[ 31.003715] Console: colour VGA+ 80x50

And things came up fine at that point. Apparently, trying to scroll a big
160x64 is sufficiently slower than scrolling an 80x50 to trigger the problem.

I'd look at John's patch in the morning:

> Implement P-D control for clocksource_adjust()

> diff --git a/kernel/timer.c b/kernel/timer.c
> index 396a3c0..f4e7681 100644
> --- a/kernel/timer.c
> +++ b/kernel/timer.c
> @@ -1007,81 +1007,108 @@ static int __init timekeeping_init_devic

Too many 2:30AM's in the past 2 weeks for a guy my age.. (Actually, the
2:30AM isn't the problem - it's the office hours 7 hours later. ;)

Attachment: pgp00000.pgp
Description: PGP signature