Interrupt performance

Slawa Olhovchenkov slw at zxy.spb.ru
Fri Jan 28 17:25:20 UTC 2011


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?

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

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