Hi everyone.

The "add_drv -n" command updates the configuration files used by the 
kernel to keep track of drivers and the devices they map to.  The "-n" 
part tells the command to stop short of actually loading the driver into 
the kernel and attaching it.  A reboot is the generally-accepted way of 
getting the driver operational after "-n". (There may also be other ways 
I don't know about.)

"add_drv -n" is currently done by IPS driver actions.  There are also 
several SVR4 package post-install scripts which do it too.  However, a 
reboot step is out of the question when Driver Update is done, as Driver 
Update is intended to install drivers into temporary ramdisk images 
which get completely re-created upon each reboot.

I just met with engineers responsible for loading kernel drivers, with 
an engineer who interfaces with large customers, and with an engineer on 
the IPS team.  Here's what I learned:

1) A true driver update (that is, replacement of an installed, 
operational driver with another driver without a reboot) of a non-buggy 
driver should be within scope of the Driver Update project.  It is 
considered a driver bug by the driver management engineers if a driver 
is not unloadable (e.g. its _fini() routine returns EBUSY).  If the old 
driver can be unloaded, the new one can replace it and become active 
without a reboot.

I plan on updating the functional spec to change the scope to a true 
driver update.  If it doesn't work, Driver Update can say so and 
continue on to the next driver;  but it should try.

2) The "-n" option to add_drv shouldn't be necessary.  It was originally 
there to prevent the system from panicking due to loading of a buggy 
driver.  But if the driver isn't buggy, no need.
While the IPS team will take a protective, cautious approach, driver 
actions will be changed to produce an end result functionally equivalent 
to calling "add_drv" without the "-n".

3) What about all those legacy post-install scripts in SVR4 driver 
packages, which could have "add_drv -n" in them?  Since "-n" isn't 
supposed to be needed, existence of "-n" in those scripts could be 
considered a bug.  It would be nice for Driver Update to work around 
them, so that such packages would "just work" with Driver Update.  For 
now, I suggest this to be an RFE.

No change to the spec is needed for this.  However, it should be clearly 
documented that postinstall scripts which use "add_drv -n" are not going 
to be compatible with Driver Update (at least until the RFE is in 
place).  Note though, that they already aren't compatible with the 
existing ITU either though...

4) There are two types of ITU images: both need to be handled.  (I 
thought there was only one.)  I'll need to look into this for more info.

No spec change is needed for this either.  Checks for ITU image type and 
proper processing will have to be handled under the hood.

I thought these were some large changes, hence this email.  If you have 
comments/suggestions/concerns, please reply by COB Friday 8/21.

    Thanks,
    Jack

Reply via email to