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

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

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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.