Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Apr 2008 10:32:25 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        gnn@freebsd.org
Cc:        net@freebsd.org
Subject:   Re: zonelimit issues...
Message-ID:  <20080420102827.U67663@fledge.watson.org>
In-Reply-To: <m2hcdztsx2.wl%gnn@neville-neil.com>
References:  <m2hcdztsx2.wl%gnn@neville-neil.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Fri, 18 Apr 2008, gnn@freebsd.org wrote:

> I am wondering why this patch was never committed?
>
> http://people.freebsd.org/~delphij/misc/patch-zonelimit-workaround
>
> It does seem to address an issue I'm seeing where processes get into the 
> zonelimit state through the use of mbufs (a high speed UDP packet receiver) 
> but even after network pressure is reduced/removed the process never gets 
> out of that state again.  Applying the patch fixed the issue, but I'd like 
> to have some discussion as to the general merits of the approach.
>
> Unfortunately the test that currently causes this is tied very tightly to 
> code at work that I can't share, but I will hopefully be improving mctest to 
> try to exhibit this behavior.

When you take all load off the system, do mbufs and clusters get properly 
freed back to UMA (as visible in netstat -m)?  If not, continuing to bump up 
against the zonelimit would suggest an mbuf/cluster leak, in which case we 
need to track that bug.

You might consider adding a debugging-only zonelimit waiter count to the UMA 
zone, and checks/assertions that a wakeup is being generated properly.  That 
is, to confirm that the wakeup is generated when memory is freed up if there 
are threads waiting.  There is at least one as-yet MFC'd fix to the 
sleep/wakeup code, I believe, that might be relevant here.  Is the problem 
you're reporting on 7.x, or on 8.x?  If 8.x, that's probably not it, but if 
7.x, it could be.  (This same sleep/wakeup bug occasionally leads to wedging 
of dump(8), I believe).

Robert N M Watson
Computer Laboratory
University of Cambridge



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