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

Re: [Xen-devel] [Patch] Qemu map cache

Ian Pratt wrote:
Have you considered doing something similar for mainline QEMU?  The
reason I ask is that V2E pulls in all of the dynamic translation code.
My initial reaction is that doing map cache will require a significant
amount change to the dynamic translation bits since we can no longer
make the assumption that memory can be accessed directly.  I don't
have my head around it yet, but this may involve lots of nastiness
keeping track of which TB's reference what memory and invalidating
TBs when map cache references are invalidated.  The QEMU TLB may
simplify some of this but I'm not entirely sure.

Have you given this any thought?

Being able to invalidate (sections of) qemu's mappings (at least
asynchronously) is essential to allow the balloon driver to work for HVM

To be able to change portions of the physical memory mapping right? You don't strictly need a map cache for this (you can simply remap portions of the address space). You really only need the map cache for > 2GB guests (which admittedly could be a ballooned down guest that started out > 2GB).

 V2E is going to have to bite the bullet on this one.

Of course, in a 64b environment the map cache can be direct mapped, but
you still need the ability to do invalidates. BTW: I'm comfortable if
V2E only works on 64b.

We may be able to work around this using one of QEMU's TLB. If the map cache goes in for 3.0.4, then we can look at just supporting 64 bit for 3.0.5 and fixing 32 bit post 3.0.5 (if that's necessary). Sound like a reasonable plan?


Anthony Liguori

 Sooner or latter there's going to be some new
feature which isn't supported on Yonah...


Xen-devel mailing list



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