Vikram Hegde wrote:
> Hi all,
>
> ok, what I am hearing is that we keep these properties Sun internal 
> and maybe use for debugging and testing. So I will keep this in the 
> code but will not document it. Is this acceptable to all ?

It is with me.

    - -Garrett
>
> Vikram
>
> Garrett D'Amore wrote:
>> Furthermore, drivers that don't want to re-spin for this should 
>> continue to function normally.  The only reason to avoid use of the 
>> IOMMU is either performance optimization or to workaround incorrect 
>> driver implementation.
>>
>> As indicated, I don't mind have have some properties "undocumented" 
>> usage, but we really should be encouraging folks that care to avoid 
>> the IOMMU to use the documented API.
>>
>> (And, IMO, there really should be no reason to avoid the IOMMU if 
>> you've written your code to perform well under regular DDI compliant 
>> DMA.  The IOMMU itself affords some significant benefits, making it 
>> much easier to get single contiguous DMA segments, reducing the need 
>> to deal with multiple cookies -- scatter gather -- or DMA windows.  
>> Never mind the huge benefits it affords for virtualization and the 
>> fault tolerance benefits that come for free as well.)
>>
>>    -- Garrett
>>
>> Wesley Shao wrote:
>>> FORCE_PHYSICAL allows finer granularity and the proposed properties
>>> make the drivers non-portable to SPARC platforms. They should really be
>>> used for internal debug.
>>>
>>> Besides, they make the drivers hard to run on virtualized platforms.
>>>
>>> Wes
>>>
>>> Vikram Hedgde wrote:
>>>> 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.
>>>
>>>
>>
>
>


Reply via email to