Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Mar 2007 13:33:48 +0200
From:      Ian FREISLICH <ianf@clue.co.za>
To:        Julian Elischer <julian@elischer.org>
Cc:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, freebsd-current@freebsd.org, Robert Watson <rwatson@FreeBSD.org>, Tillman Hodgson <tillman@seekingfire.com>
Subject:   Re: Experiencing hangs on SMP box with no console messages given for clues. Details inside. 
Message-ID:  <E1HTG7Y-0005RL-43@clue.co.za>
In-Reply-To: Message from Julian Elischer <julian@elischer.org>  of "Sun, 18 Mar 2007 11:46:30 MST." <45FD8906.2060700@elischer.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> Robert Watson wrote:
> > 
> > On Sun, 18 Mar 2007, Bjoern A. Zeeb wrote:
> > 
> >> On Sun, 11 Mar 2007, Tillman Hodgson wrote:
> >>
> >>> On Sat, Mar 10, 2007 at 10:40:33PM -0600, Tillman Hodgson wrote:
> >>>> Shouldn't take more than a day or two to get the info requested in
> >>>> 11.9.
> >>>
> >>> As it turns out, a few hours.
> >>>
> >>> After capturing the information below I ran `panic`. While booting, 
> >>> the following lock messages came up -- I thought it might be related 
> >>> so I'll post it here:
> > 
> > If using uid/gid firewall rules, make sure to read the pertinent man 
> > pages regarding setting debug.mpsafenet=0 in loader.conf to avoid 
> > deadlocks.  This is only a workaround for the issue, and when 
> > debug.mpsafenet is removed, this workaround will no longer be 
> > available.  The authors/maintainers of the various firewall packages 
> > need to correct these problems or the lock order reversals (and 
> > associated deadlocks) will persist.
> 
> I actually have some work on this in an experimental branch..
> it removes the requirement for users of ipfw to hold a lock on it
> by making the firewall table an array rather than a lined list and then
> using a read-copy-replace write semantic with reference conts on the array..
> a bit like the cred structures that processes and threads have..
> i.e. you never change it, just replace it with a new one..
> previosu users ofthe structure  just keep using the one they have
> and release the reference when they are done.. (freeing if it goes to 0).

Any chance I can get a copy of the patch?  I have some other
optimizations in production and I'd like to see how this merges and
whether it improves performance in SMP filtering.

Ian

--
Ian Freislich




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1HTG7Y-0005RL-43>