Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 14:19:18 -0800
From:      Alfred Perlstein <bright@wintelcom.net>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        Kirk McKusick <mckusick@mckusick.com>, arch@FreeBSD.ORG, net@FreeBSD.ORG
Subject:   Re: patch to cleanup inflight desciptor handling.
Message-ID:  <20001213141917.Q16205@fw.wintelcom.net>
In-Reply-To: <200012132106.eBDL6Sg86570@earth.backplane.com>; from dillon@earth.backplane.com on Wed, Dec 13, 2000 at 01:06:28PM -0800
References:  <200012131852.KAA17423@beastie.mckusick.com> <200012132106.eBDL6Sg86570@earth.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Matt Dillon <dillon@earth.backplane.com> [001213 13:07] wrote:
> :I believe that your changes have been sorely needed for many
> :years. While I would like to see regular mbufs given a callback
> :mechanism, your present approach of using an mbuf cluster
> :solves 90% of the problem.
> :
> :	Kirk  McKusick
> 
>     ... Aflred, be careful that you don't break things we only just fixed
>     last year.  The descriptor passing code has been broken for many years.
> 
>     I think the reason we have to scan the descriptor list is related to
>     locating isolated self-referential 'loops' with descriptor passing and
>     unix domain sockets and closing them.  e.g. when you pass a descriptor
>     for a unix-domain socket through a unix-domain socket, it is possible
>     for the socket descriptors to reference each other and thus never have
>     their ref count drop to 0 even when all associated processes have
>     close()'d.  This happens all the time.  Be sure you don't break the
>     fix that solves that particular problem.

Ok, I'll see if that can happen.  Basically since the reference
never goes to zero on the socket, the buffers are never forced to
be flushed/cleared and the mbuf will then never be free'd resulting
it it leaking itself.  Basically a socket hanging there with an
mbuf referencing itself.

I wonder if Linux fixed/has this problem.

-- 
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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