Timing issue with Dummynet on high kernel timer interrupt

Bruce Evans brde at optusnet.com.au
Sat Nov 7 11:26:10 UTC 2015


On Sat, 7 Nov 2015, Ian Smith wrote:

> ...
> I also notice that with HPET, the timer interrupts themselves, whether
> as few as 60-70/s idle in one-shot mode or ~2000/s in periodic, appear
> in systat -vm or vmstat -w10 'Int' column, whereas with LAPIC or (yes I
> even tried) i8254, these timer interrupts don't count in that column.

Interrupt reporting is mostly broken for "fast" interrupts.  E.g.,
systat -v counts them in the Interrupts column (separate and Total) but
not in the Int summary; vmstat -m doesn't count them anywhere (it shows
the Int summary).  vmstat -i shows them much like the Interrupts column
in systat -v (except it actually displays them all when there are too
man CPUs or Interrupts to fit in systat -v).

I use COUNT_IPIS and COUNT_XINVLTLB.  The interrupts counted by these
are actually fast.  These mess up the systat -v display by giving too
many active interrupts to display for just a couple of CPU.  systat
-v tends to display these in preference to more interesting interrupts.
vmstat -i displays these too.

"fast" and fast interrupts should be counted separately and are probaly
best left out of the Int summary.  They should also be displayed separately.

> I'll try Hans' suggestion of adjusting in loader.conf, rebooting between
> various options if really needed, though that'll be far more tedious ..
> [ I've just now seen Bruce's latest, so maybe I haven't been doing the
> wrong thing playing with these after all? ]

The eventtimer choice is readonly, so rebooting seems to be required to
change it.  Too much like Windows.  I often miss being able to change hz.
Event timers now do much more complicated changes than that.  They
implement a sort of dynamic hz, but still use the boot-time hz as a
default.

Bruce


More information about the freebsd-net mailing list