From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [Qemu-devel] [PATCH 14/23] memory: transaction API Date: Tue, 26 Jul 2011 13:48:06 +0300 Message-ID: <4E2E9B66.1080308@redhat.com> References: <1311602584-23409-1-git-send-email-avi@redhat.com> <1311602584-23409-15-git-send-email-avi@redhat.com> <4E2DC10A.4040005@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org To: Anthony Liguori Return-path: Received: from mx1.redhat.com ([209.132.183.28]:39452 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751579Ab1GZKsK (ORCPT ); Tue, 26 Jul 2011 06:48:10 -0400 In-Reply-To: <4E2DC10A.4040005@codemonkey.ws> Sender: kvm-owner@vger.kernel.org List-ID: 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 > > 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. -- error compiling committee.c: too many arguments to function