Date: Mon, 21 Apr 2008 16:46:00 +0900 From: gnn@FreeBSD.org To: Robert Watson <rwatson@FreeBSD.org> Cc: net@FreeBSD.org Subject: Re: zonelimit issues... Message-ID: <m2od834pmv.wl%gnn@neville-neil.com> In-Reply-To: <20080420102827.U67663@fledge.watson.org> References: <m2hcdztsx2.wl%gnn@neville-neil.com> <20080420102827.U67663@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
At Sun, 20 Apr 2008 10:32:25 +0100 (BST), rwatson wrote: > > > 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. > This is unclear as the process that creates the issue opens 50 UDP multicast sockets with very large socket buffers. I am investigating this aspect some more. > You might consider adding a debugging-only zonelimit waiter count to > the UMA zone, and checks/assertions that a wakeup is being generated > properly. Yes. Do you have an example I can easily steal? > 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). I have seen this on 7.0 RELEASE, and STABLE and on CURRENT (8). I am currently working on it on CURRENT because if I have a fix it's going to have to go there first. Best, George
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m2od834pmv.wl%gnn>