[Maverick] [PATCH 0/2] Enable support for 82579 LOM's
Chris Van Hoof
vanhoof at canonical.com
Tue Sep 7 15:55:19 UTC 2010
On 09/01/2010 10:09 PM, leann.ogasawara at canonical.com wrote:
> Even though we can provide a full backport of the e1000e driver from
> 2.6.36 to enable 82579 LOM's via linux-backports-modules, I believe it
> would also be reasonable to add a minimal set of 82579 enablement
> patches to the main distro kernel. Those seeking the complete driver
> backport can use LBM. Thoughts?
>
> I've built and tested the following two patches and confirmed they do
> enable an 82579 LOM. I additionally tested on an older platform which
> leverages the e1000e driver and confirm I see no regressions.
>
> Thanks,
> Leann
>
> Bruce Allan (2):
> e1000e: initial support for 82579 LOMs
> e1000e: correct MAC-PHY interconnect register offset for 82579
>
> drivers/net/e1000e/defines.h | 2 +
> drivers/net/e1000e/e1000.h | 4 +
> drivers/net/e1000e/ethtool.c | 15 ++-
> drivers/net/e1000e/hw.h | 12 ++-
> drivers/net/e1000e/ich8lan.c | 326 +++++++++++++++++++++++++++++++++++++++---
> drivers/net/e1000e/netdev.c | 70 ++++++----
> drivers/net/e1000e/phy.c | 3 +
> 7 files changed, 385 insertions(+), 47 deletions(-)
>
Hey guys -- Just did a bit of smoke testing with these two patches on a
Intel 82579LM. I used the mtools suite from http://29west.com/mtools/
(free to to public to use).
Mtools provides a set of utilities to test multicast performance, and in
the past has been quite helpful for me in testing driver functionality.
I can also run through and post some raw netperf runs if needed:
All tests ran with:
* http://people.canonical.com/~ogasawara/lp601044/
$ lspci
[...]
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network
Connection (rev 02)
[...]
$ uname -a
Linux shanghai 2.6.35-19-generic #29+lp601044 SMP Mon Aug 30 20:24:58
UTC 2010 x86_64 GNU/Linux
$ modinfo e1000e
filename:
/lib/modules/2.6.35-19-generic/kernel/drivers/net/e1000e/e1000e.ko
version: 1.0.2-k4
[...]
To summarize my results, I'm able to successfully publish 11000 packets
in a single burst within ~1.5 seconds to a machine with a 82579LM based
Intel card. I'm also able to run this in reverse and receive 11000
packets in a single burst published by another host with an e1000e card.
All packets are 1450 bytes.
I do not see any packet loss until I move the bursts into the 12000
packet range, which I could tune around if needed.
Not a peep out of dmesg during these runs. Please let me know if there
are any questions.
= 82579LM as publisher results =
== 5000 1450 byte UDP packet burst ==
$ sudo sh udp_ 5000
Equiv cmd line: msend -b5000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.86
Setting IP_MUTLICAST_IF to 10.42.43.86
Sending 1 bursts of 5000 1450-byte messages
Sending burst of 5000 msgs
Pausing before sending 'stat'
Sending stat
5000 messages sent (not including 'stat')
Equiv cmd line: msend -b5000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.86
Setting IP_MUTLICAST_IF to 10.42.43.86
Sending 1 bursts of 5000 1450-byte messages
Sending burst of 5000 msgs
Pausing before sending 'stat'
Sending stat
5000 messages sent (not including 'stat')
== 5000 1450 byte UDP packet burst (receiver) ==
$ sudo sh recv_
Equiv cmd line: mdump -p0 -Q2 -r16777216 233.0.0.1 16384 10.42.43.1
5000 msgs sent, 5000 received (not including 'stat')
0.000000% loss Elapsed time: 1.109690
5000 msgs sent, 5000 received (not including 'stat')
0.000000% loss Elapsed time: 1.109230
== 10000 1450 byte UDP packet burst ==
$ sudo sh udp_ 10000
Equiv cmd line: msend -b10000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.86
Setting IP_MUTLICAST_IF to 10.42.43.86
Sending 1 bursts of 10000 1450-byte messages
Sending burst of 10000 msgs
Pausing before sending 'stat'
Sending stat
10000 messages sent (not including 'stat')
Equiv cmd line: msend -b10000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.86
Setting IP_MUTLICAST_IF to 10.42.43.86
Sending 1 bursts of 10000 1450-byte messages
Sending burst of 10000 msgs
Pausing before sending 'stat'
Sending stat
10000 messages sent (not including 'stat')
== 10000 1450 byte UDP packet burst (receiver) ==
$ sudo sh recv_
Equiv cmd line: mdump -p0 -Q2 -r16777216 233.0.0.1 16384 10.42.43.1
10000 msgs sent, 10000 received (not including 'stat')
0.000000% loss Elapsed time: 1.201360
10000 msgs sent, 10000 received (not including 'stat')
0.000000% loss Elapsed time: 1.188350
= 82579LM as receiver results =
== 5000 1450 byte UDP packet burst ==
$ sudo sh udp_ 5000
Equiv cmd line: msend -b5000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.1
Setting IP_MUTLICAST_IF to 10.42.43.1
Sending 1 bursts of 5000 1450-byte messages
Sending burst of 5000 msgs
Pausing before sending 'stat'
Sending stat
5000 messages sent (not including 'stat')
Equiv cmd line: msend -b5000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.1
Setting IP_MUTLICAST_IF to 10.42.43.1
Sending 1 bursts of 5000 1450-byte messages
Sending burst of 5000 msgs
Pausing before sending 'stat'
Sending stat
5000 messages sent (not including 'stat')
== 5000 1450 byte UDP packet burst (receiver) ==
$ sudo sh recv_
Equiv cmd line: mdump -p0 -Q2 -r16777216 233.0.0.1 16384 10.42.43.86
5000 msgs sent, 5000 received (not including 'stat')
0.000000% loss Elapsed time: 1.258310
5000 msgs sent, 5000 received (not including 'stat')
0.000000% loss Elapsed time: 1.256610
== 10000 1450 byte UDP packet burst ==
$ sudo sh udp_ 10000
Equiv cmd line: msend -b10000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.1
Setting IP_MUTLICAST_IF to 10.42.43.1
Sending 1 bursts of 10000 1450-byte messages
Sending burst of 10000 msgs
Pausing before sending 'stat'
Sending stat
10000 messages sent (not including 'stat')
Equiv cmd line: msend -b10000 -m1450 -n1 -p1000 -s1000 -S16777216
233.0.0.1 16384 2 10.42.43.1
Setting IP_MUTLICAST_IF to 10.42.43.1
Sending 1 bursts of 10000 1450-byte messages
Sending burst of 10000 msgs
Pausing before sending 'stat'
Sending stat
10000 messages sent (not including 'stat')
== 10000 1450 byte UDP packet burst (receiver) ==
$ sudo sh recv_
Equiv cmd line: mdump -p0 -Q2 -r16777216 233.0.0.1 16384 10.42.43.86
10000 msgs sent, 10000 received (not including 'stat')
0.000000% loss Elapsed time: 1.517340
10000 msgs sent, 10000 received (not including 'stat')
0.000000% loss Elapsed time: 1.519040
More information about the kernel-team
mailing list