Interrupt performance

Stefan Lambrev stefan.lambrev at moneybookers.com
Fri Jan 28 17:45:02 UTC 2011


Hi,

On Jan 28, 2011, at 7:25 PM, Slawa Olhovchenkov wrote:

> On Fri, Jan 28, 2011 at 09:10:20AM -0800, Julian Elischer wrote:
> 
>> On 1/28/11 8:15 AM, Stefan Lambrev wrote:
>>> The overhead comes from badly written software.
>>> This software is optimized for linux and you have to optimize it for freebsd, then you will have the same overhead.
>>> All those *popular* benchmarks like hping, iperf, netperf have some strange optimizations for linux - we call them linuxism.
>>> Just search the archives - I'm pretty sure patches are flying around.
>> 
>> 
>> He wants to know why the freeBSD driver spends 8 x as much time on 
>> each interrupt.
> 
> Yes!
> 
>> there are of course several possible answers, including:
>> 
>> 1/ Sometimes BSD and Linux report things differently. Linux may or may not
>> account for the lowest level interrupt tie the same as BSD
> 
> But I see only 20% idle on FreeBSD and 80% idle on Linux.
> 
>> 2/ the BSD driver for that chip may be badly written, or may
>> be doing more or different work for some reason
>> 3/ the FreeBSD interrupt code may be misconfigured for that driver.
>> 
>> or maybe combinations...
>> 
>> there are profiling tools that you may decide to run.
> 
> What tools I can use on amd64?

Look at this document - http://software.intel.com/sites/oss/pdfs/profiling_debugging_freebsd_kernel_321772.pdf
It contains brief information for all useful profiling tools, or just google for "freebsd kernel profiling"
I'm not sure what the situation with RealTek driver, but in the past when I have done profiling, I saw that much of
the CPU time was spent on expensive (for FreeBSD) calls, which where very cheap in linux.

> 
> I boot kernel configured with 'config -p'.
> Most time in spinlock_exit and acpi_cpu_c1.
> 

--
Best Wishes,
Stefan Lambrev
ICQ# 24134177







More information about the freebsd-performance mailing list