Initial 6.1 questions

Scott Long scottl at samsco.org
Tue Jun 13 20:02:00 UTC 2006


Danial Thom wrote:
> 
> --- Scott Long <scottl at samsco.org> wrote:
> 
> 
>>Danial Thom wrote:
>>
>>>--- Robert Watson <rwatson at FreeBSD.org>
>>
>>wrote:
>>
>>>
>>>>On Tue, 13 Jun 2006, Danial Thom wrote:
>>>>
>>>>
>>>>
>>>>>Maybe someone can explain this output. The
>>>>
>>>>top line shows 99.6%idle. Is it 
>>>>
>>>>
>>>>>just showing CPU 0s stats on the top line?
>>>>
>>>>Two types of measurements are taken: sampled
>>>>ticks regarding whether the 
>>>>system as a while is in {user, nice, system,
>>>>intr, idle}, and then sampling 
>>>>for individual processes.  Right now, the
>>>>system measurements are kept in a 
>>>>simple array of tick counters called cp_time.
>>
>>>>John Baldwin and others have 
>>>>changes that make these tick counters
>>
>>per-CPU. 
>>
>>>>The lines at the top of 
>>>>top(1)'s output are derived from those tick
>>>>counters.  Ticks are measured on 
>>>>each CPU, so those are a summary across all
>>>>CPUs.  To add cpustat support, we 
>>>>need to merge John's patch to make cp_time
>>>>per-CPU (ie., different counters 
>>>>for different CPUs) and teach the userland
>>>>tools to retrieve them.  When you 
>>>>run top you'll notice that it adjusts the
>>>>measurements each refresh.  In 
>>>>effect, what it's doing is sampling the
>>
>>change
>>
>>>>in tick counts over the window, 
>>>>pulling down the new values and calculating
>>
>>the
>>
>>>>percentages of ticks in each 
>>>>"bucket" in the last window.
>>>
>>>
>>>That doesn't explain why the Top line shows
>>
>>99.6%
>>
>>>idle, but the cpu idle threads are showing
>>>significant usage. 
>>>
>>>I'm getting a constant 6000 Interrupts /
>>
>>Second
>>
>>>on my em controller, yet top jumps all over
>>
>>the
>>
>>>place; sitting at 99% idle for 10 seconds,
>>
>>then
>>
>>>jumping to 50%, then somewhere in between. It
>>>seems completely unreliable. The load I'm
>>>applying is constant.
>>>
>>>DT
>>
>>Be aware that there was a significant change
>>made to if_em
>>in 7-CURRENT in Jan 2006 to improve load
>>performance.  It'll
>>probably get backported for 6.2, but you might
>>consider
>>looking at it before you make up your mind on
>>6.1 performance.
> 
> 
> I can bridge 1 million pps with the em driver in
> 4.9, and it looks pretty much intact in 6.1, so
> I'm not too worried about the em driver being the
> problem here. Plus the measurements look just
> fine with 1 cpu, and they are completely
> impossible in SMP mode. So its reasonable to
> conclude that the measurement tools simply don't
> work.
> 
> Since everyone agrees that the load measuring
> tools aren't all that accurate, what criteria was
> used to determine that the changes made in 7 have
> the effect that you think they have had?
> 
> DT
> DT
> 

It was tested with a Smartbits packet generator.  The
tx rate on the generator was increased in steps until the host
started dropping packets or became otherwise unresponsive.

Scott



More information about the freebsd-performance mailing list