Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jul 2004 18:14:19 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        rwatson@freebsd.org
Cc:        phk@phk.freebsd.dk
Subject:   Re: newbus integration of MOD_QUIESCE
Message-ID:  <20040713.181419.82427717.imp@bsdimp.com>
In-Reply-To: <Pine.NEB.3.96L.1040713195126.63836A-100000@fledge.watson.org>
References:  <20040713.174512.11239675.imp@bsdimp.com> <Pine.NEB.3.96L.1040713195126.63836A-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <Pine.NEB.3.96L.1040713195126.63836A-100000@fledge.watson.org>
            Robert Watson <rwatson@freebsd.org> writes:
: MOD_WEAKUNLOAD - Unload if you're not in use.  I.e., unattached driver,
:   unmounted file system, netgraph nodes that aren't instantiated, network
:   protocol without any sockets, etc.  Be harmlessly gone, but vetoed
:   at a low cost.

This is desirable.

: MOD_STRONGUNLOAD - Unload even though you're in use.  Detach the driver,
:   deadfs the file system, wither the geom, sever the sockets, etc.  May
:   cause disruption, but may also veto, depending on the subsystem,
:   especially if the subsytem has no way to notify its consumers of
:   impending doom.  Can be vetoed, but try harder before vetoing.  Some
:   subsystems might always return EBUSY for this if there's really no way
:   to express "undesirable departure" upwards.

This is tue current MOD_UNLOAD

: MOD_QUIESCE - Attempt MOD_WEAKUNLOAD, and if that fails, ask the module to
:   start draining in some form.  I'm a bit unclear on quite what's
:   intended, but this seems to be less atomic notion than "unload, or
:   don't" at various points on the spectrum.  I.e., it kicks off a state
:   transition in what is likely a slightly poorly defined state machine.
:   Right now, the state machine is "Not loaded", "Loaded", and we use a
:   lock to prevent intermediate states from colliding.

This is the heart of my questions about MOD_QUIESCE.

Warner



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