From owner-freebsd-net@FreeBSD.ORG Tue Feb 5 18:52:54 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6DCD9BBE; Tue, 5 Feb 2013 18:52:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 2ACB6FBC; Tue, 5 Feb 2013 18:52:54 +0000 (UTC) Received: from pakbsde14.localnet (unknown [38.105.238.108]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 96168B926; Tue, 5 Feb 2013 13:52:53 -0500 (EST) From: John Baldwin To: Randall Stewart Subject: Re: Driver patch to look at... Date: Tue, 5 Feb 2013 13:52:52 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p22; KDE/4.5.5; amd64; ; ) References: <201302051213.51401.jhb@freebsd.org> <0D421326-9A80-4E21-A18E-E717F5C02164@lakerest.net> In-Reply-To: <0D421326-9A80-4E21-A18E-E717F5C02164@lakerest.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201302051352.52741.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 05 Feb 2013 13:52:53 -0500 (EST) Cc: freebsd-net@freebsd.org, Robert Watson , Jack Vogel , Kip Macy 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: Tue, 05 Feb 2013 18:52:54 -0000 On Tuesday, February 05, 2013 12:44:01 pm Randall Stewart wrote: > Actually, no it is used. > > If you look in if_var.h int he drbr_putback() function, it does > a buf_ring_swap when the old mbuf pointer does not equal the > new mbuf pointer. This *does* happen, I crashed at least once > yesterday when the igb driver did something to free the original > mbuf and return a new mbuf with the data (prepend or some such). > > I also have found several issues that I have fixed this morning.. its been > crash city on my test beds.. > > Here is the latest patch with all fixes and suggested changes from emaste (thanks Ed) Actually, one more suggestion then (since you have to keep putback). It would be nice to not have to require 'snext' in all the callers. How about replace buf_ring_swap() with a buf_ring_putback_sc() that accepts the mbuf and just stores it at the head unconditionally and have drbr_putback() use that? -- John Baldwin