Background:

    * I need a way to store driver-specific tunables, whose values may 
vary from one instance to another, and may be changed by an 
administrator from time to time.

    * This is for audio drivers, and the tunables may cover things like 
jack configuration (e.g. the orange jack is digital in, or its for a 
subwoofer), or other things (like default volume levels).

What I need, is not unlike what Brussels provides for NIC drivers.   
driver.conf(4) is unsuitable for a number of reasons -- not least of 
which is that it is unwieldy for administrators, particularly when 
attempting to use it for configurations specific to a particular audio port.

Brussels stores this configuration data in a file in /etc, administered 
via dladm and uses a daemon and door upcall to synchronize kernel and 
userland/filesystem accesses.

It *seem* to me, that a potentially superior way to handle this, at 
least for my needs, is to figure out who to use SMF service properties.  
The challenge becomes getting access to such properties from the kernel, 
and notification in the kernel when certain properties are added or changed.

Has anyone given this wider thought?  Any places in particular I should 
look?  Should I use something someone else is doing?  Or should I look 
into creation of a kernel/SMF synchronization service?  Or should I just 
go the same route that Brussels took, and invent my own data store and 
backing daemon?

Any thoughts are greatly appreciated.

    -- Garrett


Reply via email to