device polling and weird timer interrupt count from vmstat

Artem Kuchin matrix at itlegion.ru
Mon Sep 24 10:58:26 PDT 2007


Anyone any clue on this issue:

Artem Kuchin wrote:
> I enabled device polling in the kernel, in nics and
> set HZ=1000.
> 
> How, when i do
> 
> omni2# vmstat -i
> 
> i see
> 
> interrupt                          total       rate
> irq14: ata0                           47          0
> irq15: ata1                           41          0
> irq28: em0                          2268          4
> irq72: twe0                        58380        120
> cpu0: timer                       965994       1995
> cpu3: timer                            1          0
> cpu1: timer                            1          0
> cpu2: timer                       965857       1995
> Total                            1992589       4116
> 
> 
> (it is dual xeon with HT, HT disabled, that why cpu3 and cpu1 are
> zero). 
> 
> What i don't understand is why timer rate on each cpu is 1995? I have
> set it to 1000, not 1995 or 2000. I have seen it showing 2000 on
> another box. 
> So
> 1) why not 1000?
> 2) if it is supposed to be doubled (why?) when why not 2000?
> 3) Is timer int really generated on each cpu? Am i really wasting cpu
> time on ~4000 ints per second?
> 4) does twe driver use polling? whay about twa? how to check it in
> the sources? 


More information about the freebsd-stable mailing list