|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [RFC] New shadow paging code
Tim Deegan wrote:
Our code must deal differently with all the different combinations of
shadow modes. However, we expect that once a guest reaches its target
paging mode, it will stay in that mode for a long time; and the host will
never change its paging mode. Rather than having a whole string of ifs in
the code based on the current guest and host paging modes, we compile
different code to deal with each pair of modes (2-on-2, 2-on-3, 2-on-4,
3-on-3, 3-on-4, 4-on-4). (Direct mode is implemented as a special case of
m-on-m, where m is the host's current paging level.) While increasing the
size of the hypervisor overall, this should greatly decrease both the cache
footprint of the shadow code and reduce pipeline flushes from mispredicted
branches.
Can you explain how this works? It is not obvious to me from the patch.
In shadow2.c there is in fact a whole string of #ifs. What mechanism
causes the file to be multiply compiled? Or do I misunderstand how this
works?
Also, can you comment on the differences and similarities with the
shadow code contributed by Ben Thomas?
thanks,
Mike Day
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|