CPU saturation = slower ethernet speeds?

pulstar86

Distinguished
Apr 25, 2009
3
0
18,510
Hello. I noticed that if my CPU utilisation reaches a certain a threshold the speed of my VIA Rhine II adapter drops considerably (from +8MB/s to ~4MB/s).. why is that? And if I switch to Firewire or USB2.0 networking can I get better throughput even when my CPU utilisation is high? I checked my DMA settings and it's enabled for all drives. I could use +10MB/s LAN speed.. Any suggestions?
 

sub mesa

Distinguished
You're probably using PCI as interface, PCI has high interrupt CPU usage so lots will go to waste. You need a PCIe adapter. It could also be bad drivers. Some drivers can use polling as interrupt method, which would lower the CPU utilization caused by interrupts.

Are you using gigabit networking, and how did you test the speeds?
 

luw

Distinguished
Jun 16, 2009
1
0
18,510




sub mesa, this is an interesting piece of info. i have two test machine sets; one set with a pcie-pcie gig-e interfaces and one with a pci-pcie interface. i am working on a setup where the pci-pcie connection will lose packets (about 5-10%). where the pcie-pcie connection will have a packet loss of less than 0.00001%. for the pci-pcie conneton, i have tried 3 other pci gig-e cards and they all produce the same packet loss (about 5-10%).

these are controlled tests with no changes other then the pci cards. the only pcie gige cards i currently have are broadcom BCM5755 chipset based. the pci gige cards vary.

anyway, the point of this post. do you know where i could start looking up hard documentation for why the pci cards...umm..."suck" compared to the pcie cards? i need to find some soild justifications why this happens. ive looked around but dont think im searching the right words. do you know any keywords i should try?

 

wuzy

Distinguished
Jun 1, 2009
900
0
19,010
I'm not sure on this subject, but I think TCP/IP itself requires increased CPU usage the faster it transfers. I know on my PCI-X (not PCIe) GbE server-class card it uses the onboard hardware chip to reduce load on CPU.