Re: [RFC V2] virtio: Add platform specific DMA API translation for virito devices

From: Anshuman Khandual
Date: Wed May 30 2018 - 23:39:41 EST


On 05/24/2018 12:51 PM, Ram Pai wrote:
> On Wed, May 23, 2018 at 09:50:02PM +0300, Michael S. Tsirkin wrote:
>> subj: s/virito/virtio/
>>
> ..snip..
>>> machine_subsys_initcall_sync(pseries, tce_iommu_bus_notifier_init);
>>> +
>>> +bool platform_forces_virtio_dma(struct virtio_device *vdev)
>>> +{
>>> + /*
>>> + * On protected guest platforms, force virtio core to use DMA
>>> + * MAP API for all virtio devices. But there can also be some
>>> + * exceptions for individual devices like virtio balloon.
>>> + */
>>> + return (of_find_compatible_node(NULL, NULL, "ibm,ultravisor") != NULL);
>>> +}
>>
>> Isn't this kind of slow? vring_use_dma_api is on
>> data path and supposed to be very fast.
>
> Yes it is slow and not ideal. This won't be the final code. The final
> code will cache the information in some global variable and used
> in this function.

Right this will be a simple check based on a global variable.