Hi!
We have following problem with igb driver. We use 2 identical HWs, PopwerPC CPU,
with 6 igb 82575 interfaces. They are connected as follow:
1. HW setup
HW1:eth0 -> telnet HW2:eth0 -> telnet
HW1:eth1 <- HUB 0 -> HW2:eth1
HW1:eth2 <- point to point -> HW2:eth2
HW1:eth3 <- point to point -> HW2:eth3
HW1:eth4 <- HUB 1 -> HW2:eth4
HW1:eth5 <- HUB 2 -> HW2:eth5
2. SW setup: Kernel 3.16.1,
Driver:
[ 1.240395] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.13-k
[ 1.247507] igb: Copyright (c) 2007-2014 Intel Corporation.
3. Test scenario 1
The Ethernet connections are idle except eth0, which is used for ssh connection.
We start the cyclictest in order to see the latency of the machine. After some
seconds the latency goes over 8000 microseconds.
Exact cyclictest options are:
cyclictest -t -i 2000 -p 99 -n -l 10000000
Shutting down the point-to-point connections (eth2 & eth3) and restarting
the cyclic test would bring maximum of 60 microseconds latency!!! The
connections
(eth1, eth4 & eth5) which go over HUBs are up!
After some debugging we figured out that the problem is in the driver
statistics.
We commented out following 3 lines in drivers/net/ethernet/intel/igb/igb_main.c
#if 0
spin_lock(&adapter->stats64_lock);
igb_update_stats(adapter, &adapter->stats64);
spin_unlock(&adapter->stats64_lock);
#endif
These are lines starting from L4328.
2. Test scenario 2
We replaced HW2 with another type of hardware (HW3 which is based on Intel CPU
and
uses Ethernet chips 82571 based. And statistics are enabled. (#if 1 above)
HW1:eth2 (82575 based) <- point to point -> HW3:eth2 (82571 based)
HW1:eth3 (82575 based) <- point to point -> HW3:eth3 (82571 based)
In this test scenario NO latencies over 60 microseconds were observed.
So, in summary, it looks like that when a point-to-point connection
of a two 82575 Ethernet chips is used, the function
igb_update_stats(adapter, &adapter->stats64);
brings latencies over 8000 microseconds.
These latencies are not observed if one of the chips of the p.to.p
connection is NOT a 82575 based.
Did somebody else have a similar problem?
I would appreciate any answer! Thanks a lot!
Rossen
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired