[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