After finally being able to reproduce the issue while getting a switch level pcap it turns out that under high traffic loads when the cpu idle % is low the card/driver starts to lose packets due to either the packets being overwritten or corrupted when new packets are received. The drop out is caused when a high traffic tcp connection detects a failed receive and retransmits. The retransmit occurs when the inbound network packets are already being dropped/corrupted, so a cascade effect occurs.
This effect can also be seen if you write a little C app that sends udp packets to a listening app on the server. If you have each udp packet include an incrementing counter, when the cpu idle % drops below ~50% there will be loss(in my case between 3-5% loss) and as the cpu idle reaches as low as 30% the loss rate increases(40% or higher loss, not out of order but completely lost between the NIC and the app). If you change the app to use a tcp connection for the same test the tcp retransmission rate grows roughly in line with the udp loss rate when graphed against the cpu idle percent. When tested using an Intel NIC with an e1000e driver there is no such loss until the cpu idle drops below single digits. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/347711 Title: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller Unstable on Jaunty To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/347711/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
