Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Dec 1998 07:06:58 -0600 (CST)
From:      Richard Wackerbarth <rkw@nomad.dataplex.net>
To:        Paul Richards <paul@originative.co.uk>
Cc:        "'Mike Smith'" <mike@smith.net.au>, Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, freebsd-current@FreeBSD.ORG
Subject:   RE: KLD - what's the idea? 
Message-ID:  <Pine.BSF.4.05.9812050624160.7330-100000@nomad.dataplex.net>
In-Reply-To: <E40CBF0361C7D111914000C0F0303D108819@OCTOPUS>

next in thread | previous in thread | raw e-mail | index | archive | help
Selecting the "ideal" driver for a given device can be non-trivial.

I like the general idea that Apple uses to allow drivers to be "hot
swapable". Each driver has the ability to phase itself out and allow a new
driver to take its place. This permits the system to start up with very
generic drivers and replace them on the fly with better ones which are
"tuned" to the particular characteristics of some hardware. It also
handles the case of driver upgrade.

Essentially, each driver is allowed to "bid" for a device. Whenever a
driver becomes the highest bidder, it takes the device and runs it.
At some later time, it can get notified that it has been "out bid" and
must relinquish the device to the new driver.

By providing a "registry", the "auctioneer" can speed the process along by
first soliciting a bid from the likely high bidder.

The nice thing is that all of this auction can take place in user-land.
Each driver can be represented by its agent and only loaded to confirm its
"bid" and take control of the device. Most drivers can be represented by
the generic agent that works from the "registry" and never get loaded
unless they are needed.


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9812050624160.7330-100000>