Date: Thu, 15 Mar 2012 16:41:09 -0700 From: Sean Bruno <seanbru@yahoo-inc.com> To: John Baldwin <jhb@freebsd.org> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, Hooman Fazaeli <hoomanfazaeli@gmail.com>, Jason Wolfe <nitroboost@gmail.com> Subject: Re: Intel 82574L interface wedging - em7.3.2/8.2-STABLE Message-ID: <1331854869.3317.15.camel@powernoodle-l7.corp.yahoo.com> In-Reply-To: <201203151417.04507.jhb@freebsd.org> References: <CAAAm0r3Qj%2B2rf8cx54bcyAXGQezcE8J=xXYPq4W-jDy75r8qew@mail.gmail.com> <CAJ-Vmo=2BWQd3an3TT9-YZrLPYDoHs7ZJET360HMQijOWPavOQ@mail.gmail.com> <4F5C587B.6010004@gmail.com> <201203151417.04507.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > Hmm, so I have yet to test this, but I found several bugs related to transmit > in em(4) and igb(4) recently just reading the code. (Mostly unnecessary > scheduling of tasks for transmit.) I've included your change of restarting > TX when link becomes active. I've also updated it to fix resume for em > and igb to DTRT when buf_ring is used, and to not include old-style start > routines at all when using multiq. It is at > http://www.freebsd.org/~jhb/patches/e1000_txeof2.patch > I think that some of the code being removed originated from our universe over here at Yahoo. We were seeing the driver assert IFF_OACTIVE and never clearing out. Reviewing this patch at a glance I note that the check of IFF_OACTIVE was removed, if the kernel can get us out of that state without the IFF_OACTIVE checks, then I'm good with it. Sean ref: @@ -1497,10 +1509,11 @@ if (!drbr_empty(ifp, txr->br)) em_mq_start_locked(ifp, txr, NULL); #else - em_start_locked(ifp, txr); + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + em_start_locked(ifp, txr); #endif EM_TX_UNLOCK(txr); - if (more || (ifp->if_drv_flags & IFF_DRV_OACTIVE)) { + if (more) { taskqueue_enqueue(adapter->tq, &adapter->que_task); return;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1331854869.3317.15.camel>