Interrupt performance

Julian Elischer julian at freebsd.org
Fri Jan 28 17:42:46 UTC 2011


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.

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
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.

Julian



> On Jan 28, 2011, at 6:10 PM, Slawa Olhovchenkov wrote:
>
>> On Fri, Jan 28, 2011 at 06:03:15PM +0200, Stefan Lambrev wrote:
>>
>>> Do the test with netblast ;)
>>> Most perf tools are written badly and for Linux.
>>> In our internal test netblast running on freebsd outperform everything else.
>> I don't speak about bad performance.
>> I speak about overhead.
>>
>> Linux: overhead 7% for 56K int/s
>> FreeBSD: overhead 59% for 14K int/s
>>
>> For processing 1/4 interrupts FreeBSD need 8x CPU.
>>
>>> P.S. - /usr/src/tools/tools/netrate/netblast - we have tested little more expensive card - em/igb and bce.
>>>
>>> On Jan 28, 2011, at 4:33 PM, Slawa Olhovchenkov wrote:
>>>
>>>> I test network performance and found some strange result -- on the
>>>> same hardware Linux more then 10x used CPU resources for interrupt
>>>> processing.
>>>>
>>>> FreeBSD system utilise 70% CPU (32% idle, 59% interrupt, 9% sys) and
>>>> network card generate 14K-18K interrupt per second.
>>>>
>>>> Linux system utilise 20% CPU (80% idle, 13% system, 3% hiq, 4% siq)
>>>> and network card generate 56K interrupt per second.
>>>>
>>>> I used 'netperf -H host -t UDP_STREAM -l 60 -C -c -- -m 8972 -s
>>>> 128K -S 128K' for generate network traffic.
>>>>
>>>> NIC:
>>>>
>>>> re0:<RealTek 8169SC/8110SC Single-chip Gigabit Ethernet>  port 0x4000-0x40ff mem 0xf0100000-0xf01000ff irq 19 at device 4.0 on pci11
>>>> re0: Chip rev. 0x18000000
>>>> re0: MAC rev. 0x00000000
>>>> miibus0:<MII bus>  on re0
>>>> rgephy0:<RTL8169S/8110S/8211B media interface>  PHY 1 on miibus0
>>>>
>>>>
>>>> CPU:
>>>>
>>>> CPU: Intel(R) Celeron(R) CPU          420  @ 1.60GHz (1596.05-MHz K8-class CPU)
>>>> Origin = "GenuineIntel"  Id = 0x10661  Family = 6  Model = 16
>>>> Stepping = 1
>>>> Features=0xafebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE>
>>>> Features2=0xe31d<SSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM>
>>>> AMD Features=0x20100800<SYSCALL,NX,LM>
>>>> AMD Features2=0x1<LAHF>
>>>> TSC: P-state invariant
>>>>
>>>> RAM: one DDR2-667 DIMM.
>>>>
>>>> OS: 8.2-RC2, amd64
>>>>
>>>> _______________________________________________
>>>> freebsd-performance at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
>>>> To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org"
>>> --
>>> Best Wishes,
>>> Stefan Lambrev
>>> ICQ# 24134177
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> freebsd-performance at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
>>> To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org"
> --
> Best Wishes,
> Stefan Lambrev
> ICQ# 24134177
>
>
>
>
>
> _______________________________________________
> freebsd-performance at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org"
>



More information about the freebsd-performance mailing list