Sorry for the late reply -- a couple of conferences kept me busy. On Wed, 1 Jul 2020, Michael S. Tsirkin wrote:> On Wed, Jul 01, 2020 at 10:34:53AM -0700, Stefano Stabellini wrote: > > Would you be in favor of a more flexible check along the lines of the > > one proposed in the patch that started this thread: > > > > if (xen_vring_use_dma()) > > return true; > > > > > > xen_vring_use_dma would be implemented so that it returns true when > > xen_swiotlb is required and false otherwise. > > Just to stress - with a patch like this virtio can *still* use DMA API > if PLATFORM_ACCESS is set. So if DMA API is broken on some platforms > as you seem to be saying, you guys should fix it before doing something > like this..Yes, DMA API is broken with some interfaces (specifically: rpmesg and trusty), but for them PLATFORM_ACCESS is never set. That is why the errors weren't reported before. Xen special case aside, there is no problem under normal circumstances. If you are OK with this patch (after a little bit of clean-up), Peng, are you OK with sending an update or do you want me to?
On Fri, Jul 10, 2020 at 10:23:22AM -0700, Stefano Stabellini wrote:> Sorry for the late reply -- a couple of conferences kept me busy. > > > On Wed, 1 Jul 2020, Michael S. Tsirkin wrote: > > On Wed, Jul 01, 2020 at 10:34:53AM -0700, Stefano Stabellini wrote: > > > Would you be in favor of a more flexible check along the lines of the > > > one proposed in the patch that started this thread: > > > > > > if (xen_vring_use_dma()) > > > return true; > > > > > > > > > xen_vring_use_dma would be implemented so that it returns true when > > > xen_swiotlb is required and false otherwise. > > > > Just to stress - with a patch like this virtio can *still* use DMA API > > if PLATFORM_ACCESS is set. So if DMA API is broken on some platforms > > as you seem to be saying, you guys should fix it before doing something > > like this.. > > Yes, DMA API is broken with some interfaces (specifically: rpmesg and > trusty), but for them PLATFORM_ACCESS is never set. That is why the > errors weren't reported before. Xen special case aside, there is no > problem under normal circumstances.So why not fix DMA API? Then this patch is not needed.> > If you are OK with this patch (after a little bit of clean-up), Peng, > are you OK with sending an update or do you want me to?
> Subject: Re: [PATCH] xen: introduce xen_vring_use_dma > > Sorry for the late reply -- a couple of conferences kept me busy. > > > On Wed, 1 Jul 2020, Michael S. Tsirkin wrote: > > On Wed, Jul 01, 2020 at 10:34:53AM -0700, Stefano Stabellini wrote: > > > Would you be in favor of a more flexible check along the lines of > > > the one proposed in the patch that started this thread: > > > > > > if (xen_vring_use_dma()) > > > return true; > > > > > > > > > xen_vring_use_dma would be implemented so that it returns true when > > > xen_swiotlb is required and false otherwise. > > > > Just to stress - with a patch like this virtio can *still* use DMA API > > if PLATFORM_ACCESS is set. So if DMA API is broken on some platforms > > as you seem to be saying, you guys should fix it before doing > > something like this.. > > Yes, DMA API is broken with some interfaces (specifically: rpmesg and trusty), > but for them PLATFORM_ACCESS is never set. That is why the errors weren't > reported before. Xen special case aside, there is no problem under normal > circumstances. > > > If you are OK with this patch (after a little bit of clean-up), Peng, are you OK > with sending an update or do you want me to?If you could help, that would be great. You have more expertise in knowing the whole picture. Thanks, Peng.
On Sat, 11 Jul 2020, Michael S. Tsirkin wrote:> On Fri, Jul 10, 2020 at 10:23:22AM -0700, Stefano Stabellini wrote: > > Sorry for the late reply -- a couple of conferences kept me busy. > > > > > > On Wed, 1 Jul 2020, Michael S. Tsirkin wrote: > > > On Wed, Jul 01, 2020 at 10:34:53AM -0700, Stefano Stabellini wrote: > > > > Would you be in favor of a more flexible check along the lines of the > > > > one proposed in the patch that started this thread: > > > > > > > > if (xen_vring_use_dma()) > > > > return true; > > > > > > > > > > > > xen_vring_use_dma would be implemented so that it returns true when > > > > xen_swiotlb is required and false otherwise. > > > > > > Just to stress - with a patch like this virtio can *still* use DMA API > > > if PLATFORM_ACCESS is set. So if DMA API is broken on some platforms > > > as you seem to be saying, you guys should fix it before doing something > > > like this.. > > > > Yes, DMA API is broken with some interfaces (specifically: rpmesg and > > trusty), but for them PLATFORM_ACCESS is never set. That is why the > > errors weren't reported before. Xen special case aside, there is no > > problem under normal circumstances. > > So why not fix DMA API? Then this patch is not needed.It looks like the conversation is going in circles :-) I tried to explain the reason why, even if we fixed the DMA API to work with rpmesg and trusty, we still need this patch with the following email: https://marc.info/?l=linux-kernel&m=159347446709625&w=2 At that time it looked like you agreed that we needed to improve this check? (https://marc.info/?l=linux-kernel&m=159363662418250&w=2)