Re: Experiencing hangs on SMP box with no console messages given for clues. Details inside.

From: Ian FREISLICH <ianf_at_clue.co.za>
Date: Mon, 19 Mar 2007 13:33:48 +0200
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
Received on Mon Mar 19 2007 - 10:34:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:06 UTC