suboptimal bge(4) BCM5704 performance in RELENG_8

YongHyeon PYUN pyunyh at gmail.com
Thu Mar 8 06:23:57 UTC 2012


On Thu, Mar 08, 2012 at 12:50:14PM +0700, Eugene Grosbein wrote:
> 09.03.2012 02:06, YongHyeon PYUN пишет:
> > On Wed, Mar 07, 2012 at 11:42:09PM +0700, Eugene Grosbein wrote:
> >> 08.03.2012 10:43, YongHyeon PYUN пишет:
> >>
> >>>>> Show me the output of "sysctl dev.bge.0.stats".
> >>>>
> >>>> # sysctl dev.bge.0.stats
> >>>> dev.bge.0.stats.FramesDroppedDueToFilters: 0
> >>>> dev.bge.0.stats.DmaWriteQueueFull: 84072
> >>>> dev.bge.0.stats.DmaWriteHighPriQueueFull: 0
> >>>> dev.bge.0.stats.NoMoreRxBDs: 0
> >>>> dev.bge.0.stats.InputDiscards: 0
> >>>> dev.bge.0.stats.InputErrors: 30
> >>>> dev.bge.0.stats.RecvThresholdHit: 745400662
> >>>> dev.bge.0.stats.DmaReadQueueFull: 2020586592
> >>>> dev.bge.0.stats.DmaReadHighPriQueueFull: 0
> >>>> dev.bge.0.stats.SendDataCompQueueFull: 0
> >>>> dev.bge.0.stats.RingSetSendProdIndex: 2832885493
> >>>> dev.bge.0.stats.RingStatusUpdate: 899990835
> >>>> dev.bge.0.stats.Interrupts: 899990835
> >>>> dev.bge.0.stats.AvoidedInterrupts: 0
> >>>> dev.bge.0.stats.SendThresholdHit: 0
> >>>> dev.bge.0.stats.rx.ifHCInOctets: 491268800
> >>>> dev.bge.0.stats.rx.Fragments: 234
> >>>> dev.bge.0.stats.rx.UnicastPkts: 1977202324
> >>>> dev.bge.0.stats.rx.MulticastPkts: 0
> >>>> dev.bge.0.stats.rx.FCSErrors: 341
> >>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>> You have multiple FCS and Input errors. Check signal
> >>> quality(i.e. UTP cable).
> 
> Btw, I still think these errors are pretty seldom and cannot explain
> why I can't get full output gigabit speed. And what do these

Right.

> DmaWriteQueueFull/DmaReadQueueFull mean? Will it help to increase

State machine in controller will add DMA descriptors to DMA engine
whenever controller send/receive frames.  These numbers indicate
how many times the state machine sees DMA write/read queue full.
And the state machine will have to retry the operation once it see
a queue full.  

> interface FIFO queue to eliminate output drops?
> 

These queues reside in internal RISC processors and I don't think
there is an interface that changes the queue length. It's not
normal FIFO which is used to send/receive a frame.

I don't see any abnormal DMA configuration for PCI-X 5704 so I'm
still interested in knowing netperf benchmark result.

> Eugene Grosbein


More information about the freebsd-net mailing list