Date: Tue, 1 Aug 2006 08:21:44 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: Robert Watson <rwatson@FreeBSD.org> Cc: arch@FreeBSD.org, net@FreeBSD.org, freebsd-arch@FreeBSD.org, Hans Petter Selasky <hselasky@c2i.net> Subject: Re: Changes in the network interface queueing handoff model Message-ID: <17615.18264.172863.892776@grasshopper.cs.duke.edu> In-Reply-To: <20060731105045.X16341@fledge.watson.org> References: <20060730141642.D16341@fledge.watson.org> <44CCFC2C.20402@errno.com> <20060730200929.J16341@fledge.watson.org> <200607311024.50537.hselasky@c2i.net> <20060731105045.X16341@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Robert Watson writes: > tear-down magic. What Solaris does here, FYI, is basically add a lock around > entering the device driver via their mac layer in order to prevent it from > "disappearing" while in use via the ifnet interface. I'm not sure if we want At least for GLDv2, this is a reader-writer lock. The transmit and receive paths take a read lock on the device's macinfo (like ifnet) struct, and the detach code takes a write lock. The Solaris driver model does not serialize transmits (or receives), as one might think from reading the above. Drew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17615.18264.172863.892776>