This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: upstream-qemu: cpu_physical_memory_map() behavior differ

To: Takeshi HASEGAWA <hasegaw@xxxxxxxxx>
Subject: [Xen-devel] Re: upstream-qemu: cpu_physical_memory_map() behavior difference
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue, 10 May 2011 15:35:56 +0100
Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>, Xen Devel <Xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>, Wei Liu <liuw@xxxxxxxxx>
Delivery-date: Tue, 10 May 2011 07:38:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <BANLkTikBcD0h1pWrG4S58jM5rPt4M0stVA@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <BANLkTikBcD0h1pWrG4S58jM5rPt4M0stVA@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
On Mon, 9 May 2011, Takeshi HASEGAWA wrote:
> While tracing virtio-blk crash issues, I have found cpu_physical_memory_map()
> in upstream-qemu+xen behaves different with others. This prevents proper work
> of virtio-ring bundled in qemu.
> When a caller requests more than 2 guest-physical pages, the function
> will map the pages in host-virtual, as possible.
> In kvm+qemu, the region residents always sequential in host-virtual,
> so it will work perfectly.
> However, in xen+qemu, the region mapping is sometimes fragmented and partial.
> According to the comment of cpu_physical_memory_map(), it does not
> grantee mapping
> of whole range that caller requested. However, virtio backend drivers in qemu
> expect all requested guest-physical pages are mapped to host-virtual
> sequentially.

This is a very serious issue, thank you very much for spotting it!
I am going to refactor cpu_physical_memory_map to fix the problem, I'll
send you a patch as soon as I have it ready.

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>