time issues and ZFS

Ian Lepore ian at FreeBSD.org
Mon Jan 21 15:54:51 UTC 2013


On Mon, 2013-01-21 at 17:35 +0200, Daniel Braniss wrote:
> ...
> > 
> > What's the output of sysctl kern.eventtimer?  
> 
> kern.eventtimer.periodic is 0
> 
> >                                              Does the bad behavior
> > change if you set kern.eventimer.periodic=1?
> > 
> 
> setting kern.eventtimer.timer=LAPIC
> instead of the default HPET made the missing cpu timers to appear:
> # vmstat -i                         
> interrupt                          total       rate
> irq3: uart1                         1695          0
> irq4: uart0                            5          0
> irq19: ehci0                        3875          0
> irq20: hpet0 uhci3               5495755       1135
> irq21: uhci2 ehci1                    29          0
> irq23: atapci0                        48          0
> cpu0:timer                          7063          1
> irq256: bce0                      117073         24
> irq260: mfi0                       51083         10
> irq261: mfi1                        3088          0
> cpu1:timer                           484          0
> cpu14:timer                           36          0
> cpu6:timer                           486          0
> cpu8:timer                            38          0
> cpu5:timer                            38          0
> cpu15:timer                           38          0
> cpu7:timer                            32          0
> cpu12:timer                           38          0
> cpu3:timer                            40          0
> cpu9:timer                            36          0
> cpu10:timer                           34          0
> cpu11:timer                           37          0
> cpu2:timer                            33          0
> cpu13:timer                           40          0
> cpu4:timer                            36          0
> Total                            5681160       1173
> 
> is this relevant?

I'll have to let someone who knows modern x86 hardware better comment on
the relative merits of hpet vs. lapic timers.  If it was using hpet in
one-shot mode, and changing it to hpet in periodic mode makes the
problem go away, that might be a clue that there's something wrong in
the hpet eventtimer start or interrupt routines.  

I wonder if a single missed interrupt in one-shot mode would bring an
eventtimer to a halt like that?  And if so, then what is it about
manually asking for the date that kicks it into running again?

-- Ian




More information about the freebsd-stable mailing list