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 |
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 |
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. |
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 |
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 |
| All times are GMT. The time now is 05:47 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.