FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 03-11-2012, 06:36 PM
Jonathan Nieder
 
Default Bug#644906: e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

severity 644906 important
tags 644906 + upstream patch fixed-upstream
found 644906 linux-2.6/2.6.32-39squeeze1
quit

Hi Holger,

Holger Jeromin wrote:

>> The patch ("e1000e: workaround for packet drop on 82579 at 100Mbps")
>> hit mainline in v3.1-rc4. Are squeeze 2.6.32.y kernels affected?
>
> As you can see in my smokeping there is still a paket loss in my
> internal network:
> http://www.katur.de/smokeping/smokeping.cgi?target=Local.Telefon
>
> It would be nice, if you can fix the problem with a new kernel for
> squeeze, since the paket loss is not nice for VoIP-Calls :-)

Please test the attached patch, following instructions from [1].

Ben: it looks like there have been 31 commits to the e1000e driver
from 2.6.38 to 3.0.y. The patches marked with '+' seem like
candidates for inclusion in squeeze. '?' generally means I was
too lazy to think about that patch and it might or might not be a
candidate. What do you think?

- 67fd4fcb78a7 (convert to stats64) - no stats64 in squeeze.
- 90da06692532 (reduce scope of some variables, [...]) - cleanup.
- 05b9321405ef (Use kmemdup rather than duplicating its
implementation) - cleanup.
- 79f5e8401437 (replace unbounded sprintf with snprintf) - no-op,
since interface names have length <= 15 by definition.
- 5c1bda0aa32e (use correct pointer when memcpy'ing a 2-dimensional
array) - cosmetic.
? 5962bc21ceaa (return appropriate errors for 'ethtool -r' when
invoked while interface is not up or when auto-negotiation is
disabled)
? ff938e43d39e (net: use pci_dev->revision, again). Seems harmless.
+ ef5ab89cf7ed (use dev_kfree_skb_irq() instead of dev_kfree_skb())
- d8d5f8aebb85 (magic number cleanup - ETH_ALEN) - cosmetic.
+ 5661aeb08edc (extend timeout for ethtool link test diagnostic)
+ 1effb45cca29 (extend EEE LPI timer to prevent dropped link)
+ 6cc7aaed70c9 (do not toggle LANPHYPC value bit when PHY reset is
blocked)
+ 23e4f0613067 (disable jumbo frames on 82579 when MACsec enabled in
EEPROM)
+ 4a29e15515ea (do not suggest the driver supports Wake-on-ARP)
? 70d279a7e2a6 (bump version number) - probably a good idea. Would
the lack of stats64 support confuse people?
- aa3386015811 (PM: Remove CONFIG_PM_OPS) - already applied.
- 25985edcedea (Fix common misspellings) - cosmetic.
? 1bba4386ab4f (convert short duration msleep() to usleep_range()) -
requires 5e7f5a178b (introducing usleep_range timer) which is not
in squeeze.
+ a5cc764206a3 (PCIe link speed in GT/s, not GB/s) - printk typofix
- 86d70e532c35 (convert to new VLAN model) - no ETH_FLAG_TXVLAN in
squeeze.
- 2084b114e3fb (fix stats locking in e1000_watchdog_task) - no
stats64 in squeeze.
? 78cd29d5a92a (If ASPM L0s needs to be disabled, do it prior to
enabling device) - no effect except in nonstandard configurations,
I think
- dbf80dcbd8ca (implement ethtool set_phys_id) - no set_phys_id in
squeeze.
+ 25db0338813a (Use full 32 bit speed range in ethtool's
set_settings)
- 707394972093 (cosmetic: Use ethtool ethtool_cmd_speed API) -
cosmetic.
+ 14ad2513ed5b (more robust ethtool duplex/speed configuration)
- d64a6f4dca0b (minor comment cleanups)
? 9f728f53dd70 (PCI/e1000e: Add and use pci_disable_link_state_locked())
- 70c71606190e (Add appropriate <linux/prefetch.h> include for
prefetch users) - not needed in squeeze.
+ 716ae31687f2 (alternate MAC address does not work on device id 0x1060)
+ 9202d3166127 (workaround for packet drop on 82579 at 100Mbps)

Hope that helps,
Jonathan

[1] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official
or the corresponding page in the debian-kernel-handbook package
From: Bruce Allan <bruce.w.allan@intel.com>
Date: Fri, 29 Jul 2011 05:52:56 +0000
Subject: e1000e: workaround for packet drop on 82579 at 100Mbps

commit 0ed013e28fe853244f4972cf18d8e2bd62eeb8fc upstream.

The MAC can drop short packets when the PHY detects noise on the line at
100Mbps due to a timing issue. Workaround the issue by increasing the PLL
counter so the PHY properly recognizes the synchronization pattern from the
MAC.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
drivers/net/e1000e/ich8lan.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index fb46974cfec1..92812f439860 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -137,8 +137,9 @@
#define HV_PM_CTRL PHY_REG(770, 17)

/* PHY Low Power Idle Control */
-#define I82579_LPI_CTRL PHY_REG(772, 20)
-#define I82579_LPI_CTRL_ENABLE_MASK 0x6000
+#define I82579_LPI_CTRL PHY_REG(772, 20)
+#define I82579_LPI_CTRL_ENABLE_MASK 0x6000
+#define I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT 0x80

/* Strapping Option Register - RO */
#define E1000_STRAP 0x0000C
@@ -1596,6 +1597,7 @@ static s32 e1000_k1_workaround_lv(struct e1000_hw *hw)
s32 ret_val = 0;
u16 status_reg = 0;
u32 mac_reg;
+ u16 phy_reg;

if (hw->mac.type != e1000_pch2lan)
goto out;
@@ -1610,12 +1612,19 @@ static s32 e1000_k1_workaround_lv(struct e1000_hw *hw)
mac_reg = er32(FEXTNVM4);
mac_reg &= ~E1000_FEXTNVM4_BEACON_DURATION_MASK;

- if (status_reg & HV_M_STATUS_SPEED_1000)
+ ret_val = e1e_rphy(hw, I82579_LPI_CTRL, &phy_reg);
+ if (ret_val)
+ goto out;
+
+ if (status_reg & HV_M_STATUS_SPEED_1000) {
mac_reg |= E1000_FEXTNVM4_BEACON_DURATION_8USEC;
- else
+ phy_reg &= ~I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT;
+ } else {
mac_reg |= E1000_FEXTNVM4_BEACON_DURATION_16USEC;
-
+ phy_reg |= I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT;
+ }
ew32(FEXTNVM4, mac_reg);
+ ret_val = e1e_wphy(hw, I82579_LPI_CTRL, phy_reg);
}

out:
--
1.7.9.2
 
Old 03-11-2012, 08:06 PM
Holger Jeromin
 
Default Bug#644906: e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

Jonathan Nieder schrieb am 11.03.2012 20:36:


Holger Jeromin wrote:

The patch ("e1000e: workaround for packet drop on 82579 at 100Mbps")
hit mainline in v3.1-rc4. Are squeeze 2.6.32.y kernels affected?

As you can see in my smokeping there is still a paket loss in my
internal network:
http://www.katur.de/smokeping/smokeping.cgi?target=Local.Telefon
It would be nice, if you can fix the problem with a new kernel for
squeeze, since the paket loss is not nice for VoIP-Calls :-)

Please test the attached patch, following instructions from [1].


ping -f 192.168.0.3
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
--- 192.168.0.3 ping statistics ---
21499 packets transmitted, 21498 received, 0% packet loss, time 14026ms
rtt min/avg/max/mdev = 0.207/0.616/17.595/0.240 ms, pipe 2, ipg/ewma
0.652/0.623 ms


The kernel from squeeze had around 2% packet loss...

The fix works very nice here. Thanks. I will keep the kernel until a new
security update in stable forces me to update.


--
best regards
Holger Jeromin
 
Old 03-11-2012, 11:09 PM
Ben Hutchings
 
Default Bug#644906: e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

On Sun, 2012-03-11 at 14:36 -0500, Jonathan Nieder wrote:
> severity 644906 important
> tags 644906 + upstream patch fixed-upstream
> found 644906 linux-2.6/2.6.32-39squeeze1
> quit
>
> Hi Holger,
>
> Holger Jeromin wrote:
>
> >> The patch ("e1000e: workaround for packet drop on 82579 at 100Mbps")
> >> hit mainline in v3.1-rc4. Are squeeze 2.6.32.y kernels affected?
> >
> > As you can see in my smokeping there is still a paket loss in my
> > internal network:
> > http://www.katur.de/smokeping/smokeping.cgi?target=Local.Telefon
> >
> > It would be nice, if you can fix the problem with a new kernel for
> > squeeze, since the paket loss is not nice for VoIP-Calls :-)
>
> Please test the attached patch, following instructions from [1].
>
> Ben: it looks like there have been 31 commits to the e1000e driver
> from 2.6.38 to 3.0.y. The patches marked with '+' seem like
> candidates for inclusion in squeeze. '?' generally means I was
> too lazy to think about that patch and it might or might not be a
> candidate. What do you think?
[...]

You're probably right, but it'll take time to backport and properly test
this lot. So for now I'll just apply the single fix.

Ben.

--
Ben Hutchings
Life would be so much easier if we could look at the source code.
 
Old 03-11-2012, 11:19 PM
Terry Burton
 
Default Bug#644906: e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

On 11 March 2012 21:06, Holger Jeromin <jeromin@hitnet.rwth-aachen.de> wrote:
> Jonathan Nieder schrieb am 11.03.2012 20:36:
>> Holger Jeromin wrote:
>>>>
>>>> The patch ("e1000e: workaround for packet drop on 82579 at 100Mbps")
>>>> hit mainline in v3.1-rc4. *Are squeeze 2.6.32.y kernels affected?
>>>
>>> As you can see in my smokeping there is still a paket loss in my
>>> internal network:
>>> http://www.katur.de/smokeping/smokeping.cgi?target=Local.Telefon
>>> It would be nice, if you can fix the problem with a new kernel for
>>> squeeze, since the paket loss is not nice for VoIP-Calls :-)
>>
>> Please test the attached patch, following instructions from [1].
>
>
> ping -f 192.168.0.3
> PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
> --- 192.168.0.3 ping statistics ---
> 21499 packets transmitted, 21498 received, 0% packet loss, time 14026ms
> rtt min/avg/max/mdev = 0.207/0.616/17.595/0.240 ms, pipe 2, ipg/ewma
> 0.652/0.623 ms
>
> The kernel from squeeze had around 2% packet loss...
>
> The fix works very nice here. Thanks. I will keep the kernel until a new
> security update in stable forces me to update.

Likewise, patch tested successfully.


Thanks,

Terry



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/CANsiXEJq_h8�Ji-JSqxJ=z2uFeciNffjo5yD-4Ed=+RmLQ@mail.gmail.com
 
Old 03-12-2012, 12:47 AM
Jonathan Nieder
 
Default Bug#644906: e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

Ben Hutchings wrote:

> You're probably right, but it'll take time to backport and properly test
> this lot.

For future reference: filed as <http://bugs.debian.org/663533>.

> So for now I'll just apply the single fix.

Looks good. Thanks for taking care of it.

Jonathan



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120312014756.GB11583@burratino">http://lists.debian.org/20120312014756.GB11583@burratino
 

Thread Tools




All times are GMT. The time now is 09:57 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org