Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an Intel 82598EB 10GBE NIC.

I need to receive traffic without packet loss.

Data rate is 4-5 Gbps, packet size is 1500-9600 bytes.

I had already configured smb and irq affinity. I also tried to use packets socket ( PF_PACKET ).

None of this helped. Small losses is always present.

Now I am planning to compile kernel with disabling any configuration settings that increase the size of sk_buff and disabling IOMMU.

What are other ways to improve rx performance?

share|improve this question
Have you already increased net.ipv4.tcp_rmem ? Also you may look at the different congestion algorithms available, its possible the default algorithm isn't suited for the network that's connected to that interface. – Bratchley Apr 21 '13 at 14:44
You might also try to experiment with using ethtool to see what offload functions your NIC supports and which ones seem to increase performance. – Bratchley Apr 21 '13 at 14:50
During the day I was changing driver settings, and network subsystems settings. Just an hour ago found that only net.core.rmem_default has affect ( I am use UDP ). I regret that I did not read your post earlier. :) – Des333 Apr 21 '13 at 19:03

NAPIs can help you, as well as TSO, GSO, UFO, can help you if your ixgbe support the TSO option but anyways GSO should be supported, ethtool can be useful in setting them on, and make sure you have the ethtool_ops registered in the driver, otherwise they wont work out.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.