Re: [RFC] /dev/ioasid uAPI proposal

Jason Wang
2021-06-07T03:18:55Z

在 2021/6/4 下午7:58, Jason Gunthorpe 写道:
> On Fri, Jun 04, 2021 at 09:11:03AM +0800, Jason Wang wrote:
>>> nor do any virtio drivers implement the required platform specific
>>> cache flushing to make no-snoop TLPs work.
>> I don't get why virtio drivers needs to do that. I think DMA API should hide
>> those arch/platform specific stuffs from us.
> It is not arch/platform stuff. If the device uses no-snoop then a
> very platform specific recovery is required in the device driver.
>
> It is not part of the normal DMA API, it is side APIs like
> flush_agp_cache() or wbinvd() that are used by GPU drivers only.

Yes and virtio doesn't support AGP.

>
> If drivers/virtio doesn't explicitly call these things it doesn't
> support no-snoop - hence no VDPA device can ever use no-snoop.

Note that no drivers call these things doesn't meant it was not
supported by the spec.

Actually, spec doesn't forbid the non coherent DMA, anyway we can raise
a new thread in the virtio mailing list to discuss about that.

But consider virtio has already supported GPU, crypto and sound device,
and the devices like codec and video are being proposed. It doesn't help
if we mandate coherent DMA now.

Thanks

>
> Since VIRTIO_F_ACCESS_PLATFORM doesn't trigger wbinvd on x86 it has
> nothing to do with no-snoop.
>
> Jason