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

[Xen-devel] [PATCH] fix memory exchange hypercall.

This patch fixes memory exchange hypercall which has been broken on ia64.
Especially the error recovery path.
Dropping _PGC_allocated bit and guest_physmap_remove_page() must be done
before stealing page because The ia64 p2m table increments page
refcount and guest_physmap_remove_page() behaves depending on _PGC_allocated.
So far there is work around code in ia64, however the c/s 13366:ed73ff8440d8
of xen-unstable.hg revealed that the work around is broken.
The c/s passes dma bit argument of memory exchange so that it results
in hypercall error.

On x86 platform, memory_exchange() is used only for paravirtualized domain
and guest_physmap_remove_page() and guest_phsymap_add_page() are nop for
paravirtualized domain. So reordering them is safe.


Attachment: 14378_946572694e6b_ia64_memory_exchange_fix.patch
Description: Text Data

Xen-devel mailing list



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