Konrad Rzeszutek Wilk
2014-Aug-27 17:27 UTC
[PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
On Wed, Aug 27, 2014 at 07:46:46AM +0100, Stefan Hajnoczi wrote:> On Tue, Aug 26, 2014 at 10:16 PM, Andy Lutomirski <luto at amacapital.net> wrote: > > There are two outstanding issues. virtio_net warns if DMA debugging > > is on because it does DMA from the stack. (The warning is correct.) > > This also is likely to do something unpleasant to s390. > > (Maintainers are cc'd -- I don't know what to do about it.) > > This changes the semantics of vring and breaks existing guests when > bus address != physical address.Isn't that what this is suppose to fix? Right now the semantics of the vring is that bus address == physical address.> > Can you use a transport feature bit to indicate that bus addresses are > used? That way both approaches can be supported. > > Please also update the virtio specification: > https://tools.oasis-open.org/version-control/browse/wsvn/virtio/ > > Stefan
Stefan Hajnoczi
2014-Aug-27 18:10 UTC
[PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
On Wed, Aug 27, 2014 at 6:27 PM, Konrad Rzeszutek Wilk <konrad.wilk at oracle.com> wrote:> On Wed, Aug 27, 2014 at 07:46:46AM +0100, Stefan Hajnoczi wrote: >> On Tue, Aug 26, 2014 at 10:16 PM, Andy Lutomirski <luto at amacapital.net> wrote: >> > There are two outstanding issues. virtio_net warns if DMA debugging >> > is on because it does DMA from the stack. (The warning is correct.) >> > This also is likely to do something unpleasant to s390. >> > (Maintainers are cc'd -- I don't know what to do about it.) >> >> This changes the semantics of vring and breaks existing guests when >> bus address != physical address. > > Isn't that what this is suppose to fix? Right now the semantics of the > vring is that bus address == physical address.Today the assumption is that the device emulation code has access to guest physical memory (no translation necessary). Changing the semantics breaks today's guests. You need to make this change in a way so that existing guests don't break. Stefan
Konrad Rzeszutek Wilk
2014-Aug-27 18:58 UTC
[PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
On Wed, Aug 27, 2014 at 07:10:20PM +0100, Stefan Hajnoczi wrote:> On Wed, Aug 27, 2014 at 6:27 PM, Konrad Rzeszutek Wilk > <konrad.wilk at oracle.com> wrote: > > On Wed, Aug 27, 2014 at 07:46:46AM +0100, Stefan Hajnoczi wrote: > >> On Tue, Aug 26, 2014 at 10:16 PM, Andy Lutomirski <luto at amacapital.net> wrote: > >> > There are two outstanding issues. virtio_net warns if DMA debugging > >> > is on because it does DMA from the stack. (The warning is correct.) > >> > This also is likely to do something unpleasant to s390. > >> > (Maintainers are cc'd -- I don't know what to do about it.) > >> > >> This changes the semantics of vring and breaks existing guests when > >> bus address != physical address. > > > > Isn't that what this is suppose to fix? Right now the semantics of the > > vring is that bus address == physical address. > > Today the assumption is that the device emulation code has access to > guest physical memory (no translation necessary).Right.> > Changing the semantics breaks today's guests. You need to make this > change in a way so that existing guests don't break.Well, the DMA API will preserve that semantic as under KVM it will return phys == bus. But that is a side-effect of the DMA API implementation preserving this semantic so I understand your point.> > Stefan
Possibly Parallel Threads
- [PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
- [PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
- [PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
- [PATCH 0/3] virtio: Clean up scatterlists and use the DMA API
- [PATCH 0/3] virtio: Clean up scatterlists and use the DMA API