Re: Fwd: Re: e1000 1sec latency problem

From: Ray Lee
Date: Sat Feb 09 2008 - 17:01:51 EST


On Feb 9, 2008 1:51 PM, Kok, Auke <auke-jan.h.kok@xxxxxxxxx> wrote:
>
> Martin Rogge wrote:
> > On Saturday 09 February 2008 11:07:26 Martin Rogge wrote:
> >> Hi,
> >>
> >> I am not so familiar with the various mailing lists and missed out on
> >> e1000-devel@xxxxxxxxxxxxxxxxxxxxx the first time. Please cc me on any
> >> replies.
> >>
> >> I am looking for help with either making the e1000e driver work on my
> >> Thinkpad T60 or fixing the 1s latency issue with e1000.
> >>
> >> To be honest, I do not understand why the e1000e driver failed to recognize
> >> the NIC when I tried. At least, I noticed the correct device ID is defined
> >> in drivers/net/e1000e/hw.h:
> >>
> >> #define E1000_DEV_ID_82573L 0x109A
> >>
> >> Any help is appreciated.
> >>
> >> Thanks,
> >>
> >> Martin
> >>
> >> ---------- Forwarded Message ----------
> >>
> >> Subject: Re: e1000 1sec latency problem
> >> Date: Thursday 07 February 2008
> >> From: Martin Rogge <marogge@xxxxxxxxxxxxx>
> >> To: linux-kernel@xxxxxxxxxxxxxxx
> >>
> >> Pavel Machek wrote:
> >>> Hi!
> >>>
> >>> I have the famous e1000 latency problems:
> >> Hi, I have the same problem with my Thinkpad T60.
> >>
> >> root@zorro:~# ping arnold
> >> PING arnold (192.168.158.6) 56(84) bytes of data.
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=1 ttl=64 time=49.7 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=2 ttl=64 time=0.438 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=3 ttl=64 time=1000 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=4 ttl=64 time=0.970 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=5 ttl=64 time=885 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=6 ttl=64 time=0.484 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=7 ttl=64 time=529 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=8 ttl=64 time=1.02 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=9 ttl=64 time=149 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=10 ttl=64 time=0.549 ms
> >> 64 bytes from arnold (192.168.158.6): icmp_seq=11 ttl=64 time=0.829 ms
> >>
> >> --- arnold ping statistics ---
> >> 11 packets transmitted, 11 received, 0% packet loss, time 9999ms
> >> rtt min/avg/max/mdev = 0.438/238.113/1000.967/365.279 ms, pipe 2
> >> root@zorro:~# uname -a
> >> Linux zorro 2.6.24 #6 SMP PREEMPT Sun Feb 3 18:27:48 CET 2008 i686 Intel(R)
> >> Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux
> >> root@zorro:~# lspci -vvv
> >
> > [stuff deleted]
> >
> >> Unfortunately the e1000e driver is not an option as it will not detect the
> >> NIC:
> >>
> >> ----from dmesg with e1000 compiled in:
> >> Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
> >> Copyright (c) 1999-2006 Intel Corporation.
> >> ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 16 (level, low) -> IRQ 16
> >> PCI: Setting latency timer of device 0000:02:00.0 to 64
> >> e1000: 0000:02:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1)
> >> 00:15:58:c3:3a:71
> >> e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
> >>
> >> ----from dmesg with e1000e compiled in:
> >> e1000e: Intel(R) PRO/1000 Network Driver - 0.2.0
> >> e1000e: Copyright (c) 1999-2007 Intel Corporation.
> >>
> >> Any pointers?
> >>
> >> Thanks,
> >>
> >> Martin
> >>
> >>
> >>
> >> -------------------------------------------------------
> >
> > Just for the records, I googled the following solution for the Lenovo T60:
> >
> > (a) use the e1000 driver
> > (b) if compiling as a module, add the following parameter to modprobe.conf:
> > options e1000 RxIntDelay=5
> > (c) if compiling a static driver, use the following patch (based on 2.6.24):
> >
> > --- e1000_param.c.orig 2008-01-24 23:58:37.000000000 +0100
> > +++ e1000_param.c 2008-02-09 20:42:23.000000000 +0100
> > @@ -158,7 +158,7 @@
> > * Valid Range: 0-65535
> > */
> > E1000_PARAM(RxIntDelay, "Receive Interrupt Delay");
> > -#define DEFAULT_RDTR 0
> > +#define DEFAULT_RDTR 5
> > #define MAX_RXDELAY 0xFFFF
> > #define MIN_RXDELAY 0
> >
> > After reboot, the average ping time is still factor 10 worse than it should
> > be, but it stays below 2 ms (which is a remarkable improvement compared to
> > 1000 ms).
>
> correct, this was a workaround which improved things for most people, but did not
> *fix* it.
>
> the real fix is to disable L1 ASPM alltogether at the cost of more power
> consumption, which is what is in e1000e in 2.6.25-git.

e1000e doesn't recognize his NIC. Will you be adding this to the e1000
driver as well?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/