Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Aug 2003 15:39:12 -0400 
From:      Don Bowman <don@sandvine.com>
To:        'The Hermit Hacker' <scrappy@hub.org>, Don Bowman <don@sandvine.com>
Cc:        "'freebsd-stable@freebsd.org'" <freebsd-stable@freebsd.org>
Subject:   RE: kernel deadlock
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337027420EF@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
 From: The Hermit Hacker [mailto:scrappy@hub.org]
> >
> > One possible solution is to make vnlru more aggressive, so
> > that before giving up, it tries to free pages that have
> > many references etc (which it currently skips).
> > Another option is to have it simply bump the kern.maxvnodes
> > number and wake up the process which called it.
> >
> > Suggestions?
> >
> 
> check out 4.8-STABLE, which Tor.Egge(sp?) made modifications 
> to the vnlru
> process that sound exactly what you are proposing ...

Actually that makes the problem worse in an other area, and
doesn't fix this one.
The 'fix' there is to do 10% of the noes on a free operation,
rather than 10 at a time. Now the system will hang up for
longer when its freeing them.

However the root cause is still that it decides there are no
freeable nodes in this case, so vnlru goes back to sleep
having freed none, the caller stays asleep, and anyone else
wanting a vnode goes to sleep too.

--don



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