Hi,

> Yes.  I'd prefer not to "document" the alternative mechanism, since I 
> view that as a hack/workaround rather than the correct behavior of 
> using the DMA attributes.
How about 3rd party drivers that driver vendors don't want to rev and 
re-release solely for this. Shouldn't there be a switch that they can 
suggest to customers to use with their existing driver binaries ?

Vikram


Garrett D'Amore wrote:
> Vikram Hegde wrote:
>> Garrett D'Amore wrote:
>>> It would be cooler if this could be dealt with using ordinary DMA 
>>> attributes.  Won't DDI_DMA_FORCE_PHYSICAL (see the dma_attr_flags 
>>> for ddi_dma_attr(9s)) work for this?
>>>
>> Yes, that would work as well and is the preferred and established 
>> solution. This flag will be respected by the IOMMU. However, it seems 
>> that an alternative mechanism that involves no touching of the driver 
>> code is desirable as well. Do you agree ?
>
> Yes.  I'd prefer not to "document" the alternative mechanism, since I 
> view that as a hack/workaround rather than the correct behavior of 
> using the DMA attributes.
>
>    -- Garrett
>>
>> Thanks,
>> Vikram
>>>    - Garrett
>>>
>>>
>>> Vikram Hegde wrote:
>>>> Hi Kais,
>>>>
>>>> Below is the text I am planning to add to the PSARC case. And yes, 
>>>> the disable properties will be a part of this PSARC case.
>>>>
>>>> Vikram
>>>>
>>>> =====================================================================
>>>> Enabling/Disabling the IOMMU
>>>> =============================
>>>> It is recognized that driver or platform developers may not in 
>>>> certain cases desire the
>>>> IOMMU to be enabled. To accomodate such needs we propose the 
>>>> following global properties
>>>> in the iommu driver.conf file
>>>>
>>>> "global-disable" - can be set to 1 to disable IOMMU platform wide.
>>>> "exclude-list"   - list of driver names that want the IOMMU disabled.
>>>> ======================================================================
>>>>
>>>> Vikram
>>>>
>>>> Kais Belgaied wrote:
>>>>> Vikram, Jerry,
>>>>>
>>>>> So, is the ability to disable the IOMMU on a per driver basis in 
>>>>> this case's scope?
>>>>> what interface is being proposed for doing this?
>>>>>
>>>>> Jerry, assuming the answer  the to first question above is 'yes', 
>>>>> the case cannot be in
>>>>> a "closed approved automatic" state while waiting for some of its 
>>>>> spec.
>>>>>
>>>>>    Kais.
>>>>>
>>>>> On 09/03/08 23:16, Matthew Jacob wrote:
>>>>>> Garrett D'Amore wrote:
>>>>>>> Vikram Hegde wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>> Abilities to disable the IOMMU as a choice? Performance impact 
>>>>>>>>> on various systems and interactions with other projects that 
>>>>>>>>> have gone to some length to work within S/G and its 
>>>>>>>>> performance characteristics. How will this affect them? Cache 
>>>>>>>>> effects? Interactions with some VM work currently being 
>>>>>>>>> undertaken?
>>>>>>>>>
>>>>>>>>> I can't imagine such a major change being 
>>>>>>>>> closed/approved/automatic. 
>>>>>>>> Performance is driver dependant. There is no way a single 
>>>>>>>> project team can test the gamut of drivers out there and 
>>>>>>>> certify that the IOMMU will  give acceptable performance for 
>>>>>>>> all needs (which is itself a subjective opinion). We have 
>>>>>>>> always planned to provide the ability to disable the IOMMU on a 
>>>>>>>> per driver basis. Does that address your performance concerns ?
>>>>>>>
>>>>>>> Actually, for many cases, IOMMU may *improve* performance.  This 
>>>>>>> is because it will make it easier to satisfy device constraints 
>>>>>>> for DMA resources without requiring the use of a bounce buffer 
>>>>>>> or dma windows.
>>>>>>
>>>>>> That is almost always the exception now. The other issue IIRC is 
>>>>>> the interaction between the IOMMU and memory caches. In many data 
>>>>>> movement appliance contexts you use scatter-gather 
>>>>>> (scatter-gather in name only- contiguous memory is good) to 
>>>>>> physical pages which are never mapped in.
>>>>>>
>>>>>> The main point here is to avoid a situation that we're currently 
>>>>>> in now with respect MSI-X and Interrupt/CPU binding and make sure 
>>>>>> that there are sufficient control surfaces to allow for a broad 
>>>>>> range of possible implementation choices.
>>>>>>
>>>>>>>
>>>>>>> That said, drivers which assume that setup and tear down of DMA 
>>>>>>> is "cheap" may take a perf. hit when using an IOMMU.  This is 
>>>>>>> already the case for SPARC systems, btw.
>>>>>>
>>>>>> Except for those (ancient) ones that used 36-bit MBus physical 
>>>>>> addresses and bypassed the IOMMU.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 



===============================================================================

thread(n):projecting helical rib by which parts can be screwed together

===============================================================================


Reply via email to