From owner-freebsd-current@FreeBSD.ORG Wed Jul 13 15:47:01 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0532216A41C for ; Wed, 13 Jul 2005 15:47:01 +0000 (GMT) (envelope-from rodrigc@crodrigues.org) Received: from rwcrmhc12.comcast.net (rwcrmhc14.comcast.net [216.148.227.89]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A41A43D48 for ; Wed, 13 Jul 2005 15:47:00 +0000 (GMT) (envelope-from rodrigc@crodrigues.org) Received: from c-66-30-114-143.hsd1.ma.comcast.net ([66.30.114.143]) by comcast.net (rwcrmhc14) with ESMTP id <2005071315465801400idaspe>; Wed, 13 Jul 2005 15:46:59 +0000 Received: from c-66-30-114-143.hsd1.ma.comcast.net (localhost.127.in-addr.arpa [127.0.0.1]) by c-66-30-114-143.hsd1.ma.comcast.net (8.13.4/8.13.1) with ESMTP id j6DFkvxo001604 for ; Wed, 13 Jul 2005 11:46:57 -0400 (EDT) (envelope-from rodrigc@c-66-30-114-143.hsd1.ma.comcast.net) Received: (from rodrigc@localhost) by c-66-30-114-143.hsd1.ma.comcast.net (8.13.4/8.13.1/Submit) id j6DFkvlS001603 for freebsd-current@freebsd.org; Wed, 13 Jul 2005 11:46:57 -0400 (EDT) (envelope-from rodrigc) Date: Wed, 13 Jul 2005 11:46:56 -0400 From: Craig Rodrigues To: freebsd-current@freebsd.org Message-ID: <20050713154656.GA1516@crodrigues.org> References: <20050713031229.GA933@crodrigues.org> <20050713125038.Q926@fledge.watson.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050713125038.Q926@fledge.watson.org> User-Agent: Mutt/1.5.9i Subject: Re: Panic in bpf, maybe related to if_xl X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2005 15:47:01 -0000 On Wed, Jul 13, 2005 at 12:51:53PM +0100, Robert Watson wrote: > It looks like if_xl is not properly acquiring Giant when entering the > network stack when running with debug.mpsafenet=0. It should be calling > NET_LOCK_GIANT() in the task queue before calling if_input(). Gleb Smirnoff provided me with this patch which I am testing now. Things seem better...... Index: if_xl.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_xl.c,v retrieving revision 1.190 diff -u -r1.190 if_xl.c --- if_xl.c 10 Jun 2005 16:49:23 -0000 1.190 +++ if_xl.c 13 Jul 2005 13:27:36 -0000 @@ -2100,9 +2100,11 @@ { struct xl_softc *sc = (struct xl_softc *)arg; + NET_LOCK_GIANT(); XL_LOCK(sc); xl_rxeof(sc); XL_UNLOCK(sc); + NET_UNLOCK_GIANT(); } /* -- Craig Rodrigues rodrigc@crodrigues.org