Date: Tue, 19 Dec 2000 01:55:51 -0800 From: Julian Elischer <julian@elischer.org> To: Chuck Paterson <cp@bsdi.com> Cc: smp@FreeBSD.ORG Subject: Re: Netgraph locking primatives. take 1. Message-ID: <3A3F30A6.6C24C308@elischer.org> References: <200012190002.eBJ02CP25038@berserker.bsdi.com>
index | next in thread | previous in thread | raw e-mail
Chuck Paterson wrote:
>
> Ah, now I understand.
>
> Do you have a master lock to keep messages from queueing on the
> write lock just as you are destroying the node?
>
> Chuck
basically..
we have an INVALID bit that is set before removing it,
and after setting the INVALID we remove all references
to the queue (so nothing can find it)
That may take a while becasue it requires the removal of hooks
from neighbouring nodes, and is achieved by setign a hook-destroy
message on the neighbouring node's input queues, (and leaving).
When the reference count to the hooks go to 0, they are removed.
When the last hook is removed, the queue is locked and flushed.
At this stage nothign can find us to use us except us.
so we can safely remove the node, the queue etc.
--
__--_|\ Julian Elischer
/ \ julian@elischer.org
( OZ ) World tour 2000
---> X_.---._/ presently in: Budapest
v
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A3F30A6.6C24C308>
