From owner-freebsd-net@FreeBSD.ORG Wed Nov 21 17:03:38 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 02C5F626; Wed, 21 Nov 2012 17:03:38 +0000 (UTC) (envelope-from fodillemlinkarim@gmail.com) Received: from mail-ia0-f182.google.com (mail-ia0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 99EB08FC17; Wed, 21 Nov 2012 17:03:37 +0000 (UTC) Received: by mail-ia0-f182.google.com with SMTP id x2so6556193iad.13 for ; Wed, 21 Nov 2012 09:03:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=04uYjvrz9/krDuT3ZrC4PCTIR7L0onMIDQxpK8PAMuY=; b=qS+d6MHPE/NzV/xVhIDSPgzRnG4Dj45wi9oXNmqDA5RuJ64HORtOcRzZRGRWlAXCJj MXR1BWGUbGKgE+m7eq0sjAgAt2KBe38jStldF3WloLXbGDP1nulUA+ejz5su+4gdq3lI MMT0yeG8yvY+xYjAvko+84ZPH3C7eC3R1BY2xcEvc2LSGO3X//rIYrB3x3PPjEDKj06r d85O3cRj06po2QaZ7yj1GEZfmCBUG9MihYkuvOqOx3K2EwJgGmvyrJG+qC2zm+GNi4XS 2Fdd7d7EH3/W6XkMBCTSKEgcPcojCfnr9QOK9UyOrtAj+0PtC5y1QHu1qtpNqNMK0wZM wZow== Received: by 10.50.57.225 with SMTP id l1mr163909igq.37.1353517411578; Wed, 21 Nov 2012 09:03:31 -0800 (PST) Received: from [192.168.1.73] ([208.85.112.101]) by mx.google.com with ESMTPS id gk1sm76770igc.5.2012.11.21.09.03.29 (version=SSLv3 cipher=OTHER); Wed, 21 Nov 2012 09:03:30 -0800 (PST) Message-ID: <50AD0955.1040600@gmail.com> Date: Wed, 21 Nov 2012 12:03:17 -0500 From: Karim Fodil-Lemelin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: igb diver crashes in head@241037 References: <50AA8F24.7080604@gmail.com> <20121120111833.GC67660@FreeBSD.org> <20121121062631.GJ67660@glebius.int.ru> In-Reply-To: <20121121062631.GJ67660@glebius.int.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: jfv@FreeBSD.org, freebsd-net@FreeBSD.org, Jack Vogel X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 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, 21 Nov 2012 17:03:38 -0000 Hi Gleb, On 21/11/2012 1:26 AM, Gleb Smirnoff wrote: > 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. > What about protecting the em driver from the same out of order problem that was fixed in igb? Wouldn't make sense to commit a fix for both drivers? Thanks, Karim.