One-shot-oriented event timers management

Gary Jennejohn gljennjohn at
Mon Aug 30 09:09:37 UTC 2010

On Sun, 29 Aug 2010 16:10:00 +0300
Alexander Motin <mav at> wrote:

> I have actively tested this code for a few days on my amd64 Core2Duo
> laptop and i386 Core-i5 desktop system. With C2/C3 states enabled
> systems experience only about 100-150 interrupts per second, having HZ
> set to 1000. These events mostly caused by several event-greedy
> processes in our tree. I have traced and hacked several most aggressive
> ones in this patch: .
> It allowed me to reduce down to as low as 50 interrupts per system,
> including IPIs! Here is the output of `systat -vm 1` from my test
> system: . Obviously
> that with additional tuning the results can be improved even more.

Hmm.  I applied your patches and am now running the new kernel.  But I
only installed the new kernel and didn't do make buildworld installworld.

Mu systat -vm 1 doesn't look anything like yours.  I'm seeing about 2300
interrupts per second and most of those are coming from the hpet timers:

1122 hpet0:t0
1124 hpet0:t1

So, what else did you do to reduce interrupts so much?

Ah, I think I see it now.  My desktop has only C1 enabled.  Is that it?
Unfortunately, it appears that only C1 is supported :(

Gary Jennejohn

More information about the freebsd-hackers mailing list