Date: Wed, 21 Nov 2012 10:26:31 +0400 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Jack Vogel <jfvogel@gmail.com> Cc: Karim Fodil-Lemelin <fodillemlinkarim@gmail.com>, jfv@FreeBSD.org, freebsd-net@FreeBSD.org Subject: Re: igb diver crashes in head@241037 Message-ID: <20121121062631.GJ67660@glebius.int.ru> In-Reply-To: <CAFOYbckbEPr3B=Kj5kiW16QKj5a6hWeTo%2BiU=vRpfy2jqXvd4w@mail.gmail.com> References: <50AA8F24.7080604@gmail.com> <20121120111833.GC67660@FreeBSD.org> <CAFOYbckbEPr3B=Kj5kiW16QKj5a6hWeTo%2BiU=vRpfy2jqXvd4w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Jack, On Tue, Nov 20, 2012 at 09:19:54AM -0800, Jack Vogel wrote: J> > I'd suggest the following code: J> > J> > if (m) J> > drbr_enqueue(ifp, txr->br, m); J> > err = igb_mq_start_locked(ifp, txr, NULL); J> > J> > Which eventually leads us to all invocations of igb_mq_start_locked() J> > called J> > with third argument as NULL. This allows us to simplify this function. J> > J> > Patch for review attached. J> > J> > J> Yes Gleb, I already have code in my internal tree which simply removes an J> mbuf J> pointer form the start_locked call and ALWAYS does a dequeue, start J> similarly J> will always enqueue. I just have been busy with ixgbe for a bit and have J> not gotten J> it committed yet. Since ixgbe work is performance tuning and this patch closes a kernel crash, I'd ask to preempt the ixgbe job with this patch. :) Or you can approve my patch and I will check it in. -- Totus tuus, Glebius.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121121062631.GJ67660>