From owner-freebsd-net@FreeBSD.ORG Wed Nov 17 13:51:20 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82D46106564A for ; Wed, 17 Nov 2010 13:51:20 +0000 (UTC) (envelope-from dudu@dudu.ro) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 23FF38FC14 for ; Wed, 17 Nov 2010 13:51:19 +0000 (UTC) Received: by wyb35 with SMTP id 35so1154776wyb.13 for ; Wed, 17 Nov 2010 05:51:19 -0800 (PST) Received: by 10.216.7.137 with SMTP id 9mr1519761wep.97.1290000202740; Wed, 17 Nov 2010 05:23:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.177.195 with HTTP; Wed, 17 Nov 2010 05:22:41 -0800 (PST) In-Reply-To: <4CE3D097.7030204@grosbein.pp.ru> References: <20101117070422.GA45678@cabstand.com> <4CE3D097.7030204@grosbein.pp.ru> From: Vlad Galu Date: Wed, 17 Nov 2010 14:22:41 +0100 Message-ID: To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: request for MFC of em/igb drivers X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Nov 2010 13:51:20 -0000 On Wed, Nov 17, 2010 at 1:54 PM, Eugene Grosbein wro= te: > On 17.11.2010 13:04, Chris Peiffer wrote: >> >> Hi, >> >> I've been watching the traffic here over the last few months relating >> to the em and igb Intel ethernet drivers. It seems like there's a big >> consensus that HEAD has some good new fixes. >> >> Looking at this: >> >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/e1000/if_em.c >> >> There's a pretty big commit to HEAD in rev 1.58 on Sep 27 that's >> marked "MFC: a week" but it doesn't look like anything's been MFC'd >> since. (And several other revisions that look more experimental have >> since gone into HEAD.) >> >> We've been seeing some weird issues with em devices under high load >> and if these changes in 1.58 are ready for STABLE we'd love to test >> them live. >> >> So this is a beg... if the relevant committers are out here, can that >> MFC go through soon? Or if it can't, or I'm reading the logs wrong, >> please explain. >> >> Thanks in advance. > > Indeed, in RELENG_8 em(4) is not useable for us because of two flaws: > > 1. It panices system due to NULL pointers dereference. > It needs the following patch taken from CURRENT's igb(4): > > --- if_em.c.orig =A0 =A0 =A0 =A02010-11-02 15:45:56.000000000 +0600 > +++ if_em.c =A0 =A0 2010-11-08 14:24:46.000000000 +0600 > @@ -4181,9 +4181,11 @@ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifp->if_ierrors++; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/* Reuse loaded DMA map an= d just update mbuf chain */ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mp =3D rxr->rx_buffers[i].= m_head; > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if(mp) { > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mp->m_len =3D mp->m_pkthdr= .len =3D MCLBYTES; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mp->m_data =3D mp->m_ext.e= xt_buf; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mp->m_next =3D NULL; > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (adapter->max_frame_siz= e <=3D > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(MCLBYTES - ETHER_= ALIGN)) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0m_adj(mp, = ETHER_ALIGN); > > igb(4) in RELENG_8 has not this fix too and there is a PR: > http://www.freebsd.org/cgi/query-pr.cgi?pr=3D150920 > > 2. It makes physical link down/up for every vlan creation/deletion > that leads to 3 seconds of service interruption and > down/up events for all other vlans based on same parent interface. > It needs the following patch that's already present in CURRENT > but not in RELENG_8: > > @@ -4342,7 +4344,8 @@ > =A0 =A0 =A0 =A0em_shadow_vfta[index] |=3D (1 << bit); > =A0 =A0 =A0 =A0++adapter->num_vlans; > =A0 =A0 =A0 =A0/* Re-init to load the changes */ > - =A0 =A0 =A0 em_init(adapter); > + =A0 =A0 =A0 if (ifp->if_capenable & IFCAP_VLAN_HWFILTER) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 em_init(adapter); > =A0} > > =A0/* > @@ -4366,7 +4369,8 @@ > =A0 =A0 =A0 =A0em_shadow_vfta[index] &=3D ~(1 << bit); > =A0 =A0 =A0 =A0--adapter->num_vlans; > =A0 =A0 =A0 =A0/* Re-init to load the changes */ > - =A0 =A0 =A0 em_init(adapter); > + =A0 =A0 =A0 if (ifp->if_capenable & IFCAP_VLAN_HWFILTER) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 em_init(adapter); > =A0} > > =A0static void > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > Any plans for bringing in version 2.2.3 of ixgbe(4)? --=20 Good, fast & cheap. Pick any two.