[opensolaris-summit] driver limits [was Re: My comments (very subjective) on proposed Summit topics]

Garrett D'Amore Garrett.Damore at Sun.COM
Wed Sep 26 11:30:03 PDT 2007


Randy Fishel wrote:
> On Wed, 26 Sep 2007, Garrett D'Amore wrote:
>
>   
>> I believe that sticking to the DDI, while not a hard requirement for 
>> drivers in ON, is a worthwhile cause even for the drivers in ON.
>>     
>
>   I would argue that it must be a hard requirement, and for the 
> reasons you state below.
>
>   
>> 1) It reduces the pain and suffering when non-DDI interfaces change
>> 2) By sticking to documented APIs (or APIs you expect to be documented) 
>> you're unlikely to be bitten later by changes in undocumented behavior.
>> 3) By using the DDI, you know that you're using the same APIs that we 
>> recommend to external developers.  That means you help to uncover any 
>> limitations in the DDI.
>>
>> I think if the drivers in ON "had" to use the DDI or go thru the process 
>> of getting a waiver/contract, then its likely the DDI would be a lot 
>> richer than it is today.  (For one, we'd probably have a public API for 
>> nexus drivers!)
>>
>> Note that for APIs like GLDv3, kEF, etc.  I think use is appropriate... 
>> largely because we are using those APIs as we expect an external 
>> consumer would, and we're in the process of trying to make them public.  
>> This is quite different than drivers that start up their own kernel 
>> threads, etc.
>>
>>     -- Garrett
>>     
>
>
>   We do make the requirement of drivers to specify all the interfaces 
> they expect to import and export.  We don't make them list the 
> DDI/DKI, as that is a set of implied interfaces.  They must, however, 
> specify if they intend to use GLDvX, kEF, and even FMA.  If a driver 
> is using any other interface, it should have listed it, and would be 
> in violation of its ARC case if it didn't (IMHO, they should even list 
> consolidation private interfaces).
>
>   The problem, with this "requirement", is that we have no way to 
> validate or enforce that only the ARC'd API's have been used.  We 
> leave it to the developer (in theory, checked by the RTI advocate) to 
> appropriately use the API's.  But if you know of a driver that uses a 
> non-public API, and it doesn't have an ARC case stating this use (so 
> all the GLDv3 drivers should be OK), then you can file a bug on the 
> driver.
>
>
>   Just maybe one of the things we need to think about is some set of 
> driver validation tools.
>   

There used to be one.. .it was called "ddict".  I sometimes believe I'm 
the only person on the planet who ever actually used "ddict".

    -- Garrett
>
>
> 	---- Randy
>   



More information about the opensolaris-summit mailing list