Stephen Hemminger wrote:
How big is the transmit ring. Setting a bigger transmit ring fixed my problem
modprobe e1000 TxDescriptors=1024
Also, there are lots of flavors of this chipset and board. One machine
I was using had the IBM rebranded version and it would only do PCI33 not PCI66.
Thanks for replying Stephen - it's really frustrating :)
I did try TxDescriptors and various (most) other parameters (below are
the actual parameter variations I tried - just cut from a 'history' for
info).
After each one i downed the link and modprobe -r the driver.
I then ran a large file scp (quicker id+recovery than nfs hanging when
the link died)
I invariably got an eth0 timed out after a few seconds - some variation
but IIRC no more than 20% - ie 8-10Mb of a 1G file before it failed.
root@ash:~ # ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 1024
I've pulled all the cards and looked - they are all genuine Intel
C39226-003 (Pro/1000 MT)
This page http://support.intel.com/support/network/sb/cs-005980-prd38.htm
says: 82541 Gigabit Small Form 32/66
My system has PCI33 BTW.
I have also tried 2.6.7 this morning and have the same problem.
David
module parameters.
modprobe e1000 FlowControl=2
modprobe e1000 FlowControl=1
modprobe e1000 FlowControl=3
modprobe e1000 FlowControl=0
modprobe e1000 FlowControl=0 InterruptThrottleRate=100
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=1024
; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=4096
; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=1 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=10 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=1000 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=0 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=0 TxIntDelay=0 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=1024 TxIntDelay=53 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=1024 TxIntDelay=64 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=65535 TxIntDelay=64 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=128 TxIntDelay=0 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=128 TxIntDelay=32000 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=128 TxIntDelay=32000 ; ifup eth0
modprobe e1000 FlowControl=0 InterruptThrottleRate=1 RxDescriptors=256
RxIntDelay=0 RxAbsIntDelay=128 TxIntDelay=64 XsumRX=1 ; ifup eth0
modprobe e1000 Speed=100
modprobe e1000 Speed=10
|