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


Reply via email to