Timer panic on boot (r209434)

Alexander Motin mav at FreeBSD.org
Tue Jun 22 21:59:52 UTC 2010


Doug Barton wrote:
> On 06/22/10 14:17, Alexander Motin wrote:
>> Run `sysctl kern.eventtimer.timer2=i8254`, then after few seconds check
>> messages to see if system liked this timer (it should fall back
>> automatically if it's not),
> 
> Seems ok. Here is what I got on the console, no error messages in
> /var/log/all.
> 
> sysctl kern.eventtimer.timer2=i8254
> kern.eventtimer.timer2: HPET1Starting kernel event timers: HPET @ 100Hz,
> i8254 @
>  128Hz
>   -> i8254
>  t_delta 16.01a20d312197c8b0 too long
> 
>> then check 'vmstat -ia' to see whether irq0 interrupts are arriving,
> 
> This also seems fine:
> 
> interrupt                          total       rate
> ???                                    0          0
> irq1: atkbd0                        3448          1
> stray irq1                             0          0
> irq0: attimer0                     15756          6
> stray irq0                             0          0
> irq3:                                  0          0
> stray irq3                             0          0
> 
> The total for irq0 is going up consistently.

OK, thanks. It means that your ACPI is lying for some reason. I'll
probably commit this patch tomorrow.

> Should I continue using the HPET timer? 

As you wish.

> Is it "better" in some way?

Comparing to what? Comparing to LAPIC - it is not dying in C3. Comparing
to RTC - if is faster and much more flexible. Comparing to i8254 - it
can work per-CPU and supports one-shot mode, both not very important
now, but should benefit later.

> Anything else I can do to help?

Find any more issues to fix. :)

As you have latest HEAD, you may try my latest addition (r209440) - HPET
"legacy route" support. It should allow HPET to work per-CPU on your
hardware. To enable it, add such lines to /boot/loader.conf:
hint.atrtc.0.clock=0
hint.attimer.0.clock=0
hint.hpet.0.legacy_route=1

-- 
Alexander Motin


More information about the freebsd-current mailing list