On 07/26/2011 01:48 PM, Avi Kivity wrote:
On 07/25/2011 10:16 PM, Anthony Liguori wrote:
On 07/25/2011 09:02 AM, Avi Kivity wrote:
Allow changes to the memory hierarchy to be accumulated and
made visible all at once. This reduces computational effort,
especially when an accelerator (e.g. kvm) is involved.
Useful when a single register update causes multiple changes
to an address space.
Signed-off-by: Avi Kivity<a...@redhat.com>
What's the motivation for this? Was this just because it seemed neat
to do or did you run into a performance issue you were trying to solve?
Both cirrus and 440fx need this; look at
i440fx_update_memory_mappings() for example, it blindly updates
mappings even for PAMs which haven't changed.
These issues can be also solved by more care on the caller's side, or
by making the API richer, but it's good to have a no-thought-required
solution, particularly as it's so easy to do.
I should note that updating the memory map is relatively slow with kvm
due to the need to wait for an rcu grace period; though recent kernels
are faster. So any saving here has a large effect.
--
error compiling committee.c: too many arguments to function