Bug#644906: [squeeze] e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

2012-03-11 Thread Jonathan Nieder
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.al...@intel.com
Date: Fri, 29 Jul 2011 05:52:56 +
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.al...@intel.com
Tested-by: Jeff Pieper jeffrey.e.pie...@intel.com
Signed-off-by: Jeff Kirsher jeffrey.t.kirs...@intel.com
Signed-off-by: Jonathan Nieder jrnie...@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_CTRLPHY_REG(772, 20)
-#define I82579_LPI_CTRL_ENABLE_MASK0x6000
+#define I82579_LPI_CTRLPHY_REG(772, 20)
+#define I82579_LPI_CTRL_ENABLE_MASK0x6000
+#define I82579_LPI_CTRL_FORCE_PLL_LOCK_COUNT   0x80
 
 /* 

Bug#644906: [squeeze] e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

2012-03-11 Thread Holger Jeromin

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



smime.p7s
Description: S/MIME Cryptographic Signature


Bug#644906: [squeeze] e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

2012-03-11 Thread Ben Hutchings
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.


signature.asc
Description: This is a digitally signed message part


Bug#644906: [squeeze] e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

2012-03-11 Thread Terry Burton
On 11 March 2012 21:06, Holger Jeromin jero...@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-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#644906: [squeeze] e1000e: upstream workaround for packet drop on 82579LM at 100Mbps

2012-03-11 Thread Jonathan Nieder
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-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org