qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Logging dirty pages from vhost-net in-kernel with vIOMM


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] Logging dirty pages from vhost-net in-kernel with vIOMMU
Date: Tue, 4 Dec 2018 20:59:51 -0500

On Wed, Dec 05, 2018 at 09:30:19AM +0800, Jason Wang wrote:
> 
> On 2018/12/5 上午2:37, Jintack Lim wrote:
> > Hi,
> > 
> > I'm wondering how the current implementation works when logging dirty
> > pages during migration from vhost-net (in kernel) when used vIOMMU.
> > 
> > I understand how vhost-net logs GPAs when not using vIOMMU. But when
> > we use vhost with vIOMMU, then shouldn't vhost-net need to log the
> > translated address (GPA) instead of the address written in the
> > descriptor (IOVA) ? The current implementation looks like vhost-net
> > just logs IOVA without translation in vhost_get_vq_desc() in
> > drivers/vhost/net.c. It seems like QEMU doesn't do any further
> > translation of the dirty log when syncing.
> > 
> > I might be missing something. Could somebody shed some light on this?
> 
> 
> Good catch. It looks like a bug to me. Want to post a patch for this?

This isn't going to be a quick fix: IOTLB UAPI is translating
IOVA values directly to uaddr.

So to fix it, we need to change IOVA messages to translate to GPA
so GPA can be logged.

for existing userspace We can try reverse translation uaddr->gpa as a
hack for logging but that translation was never guaranteed to be unique.

Jason I think you'll have to work on it given the complexity.

> Thanks
> 
> 
> > 
> > Thanks,
> > Jintack
> > 
> > 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]