Interrupt routine usage not shown by top in 8.0

Chris Ruiz chris at young-alumni.com
Thu Mar 12 16:16:44 PDT 2009


On Mar 12, 2009, at 5:40 PM, Barney Cordoba wrote:

> --- On Thu, 3/12/09, Chris Ruiz <chris at young-alumni.com> wrote:
>
>> From: Chris Ruiz <chris at young-alumni.com>
>> Subject: Re: Interrupt routine usage not shown by top in 8.0
>> To: current at freebsd.org
>> Date: Thursday, March 12, 2009, 5:17 PM
>> On Mar 12, 2009, at 3:23 PM, Barney Cordoba wrote:
>>
>>>
>>> I'm fireing 400Kpps at a udp blackhole port.
>> I'm getting 6000
>>> interrupts
>>> per second on em3:
>>>
>>> testbox# vmstat -i; sleep 1; vmstat -i
>>> interrupt                          total       rate
>>> irq1: atkbd0                           1          0
>>> irq6: fdc0                             1          0
>>> irq17: uhci1+                       2226          9
>>> irq18: uhci2 ehci+                     9          0
>>> cpu0: timer                       470507       1993
>>> irq256: em0                          665          2
>>> irq259: em3                      1027684       4354
>>> cpu1: timer                       470272       1992
>>> cpu3: timer                       470273       1992
>>> cpu2: timer                       470273       1992
>>> Total                            2911911      12338
>>>
>>> interrupt                          total       rate
>>> irq1: atkbd0                           1          0
>>> irq6: fdc0                             1          0
>>> irq17: uhci1+                       2226          9
>>> irq18: uhci2 ehci+                     9          0
>>> cpu0: timer                       472513       1993
>>> irq256: em0                          668          2
>>> irq259: em3                      1033703       4361
>>> cpu1: timer                       472278       1992
>>> cpu3: timer                       472279       1992
>>> cpu2: timer                       472279       1992
>>> Total                            2925957      12345
>>>
>>>
>>> top -SH shows:
>>>
>>> PID  STATE  C   TIME    CPU COMMAND
>>>  10  CPU3   3   7:32 100.00% idle
>>>  10  CPU2   2   7:32 100.00% idle
>>>  10  RUN    0   7:31 100.00% idle
>>>  10  CPU1   1   7:31 100.00% idle
>>>
>>> This implies that CPU usage is substantially
>> under-reported in general
>>> by the system. Note that I've modified
>> em_irq_fast() to call
>>> em_handle_rxtx() directly rather than scheduling a
>> task to illustrate
>>> the problem
>>>
>>> Barney
>>
>> The version of top in the base system is known to provide
>> incorrect
>> metrics.
>>
>> Chris
>
> Does that imply that there exists a version that provides correct
> information?
>
> Barney

Edwin Groothuis was working on updating top to 3.8 late last year.  If  
you search google for "Request for testing - top 3.8b1 in the base  
system" you can find a lot of discussion on the list regarding top.

Chris


More information about the freebsd-current mailing list