From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 3/5] memory: Flush coalesced MMIO on mapping and state changes Date: Mon, 25 Jun 2012 14:01:37 +0300 Message-ID: <4FE84511.2020003@redhat.com> References: <47c076c8519f27cdfbf3f1e55432a162e5334e02.1340607659.git.jan.kiszka@siemens.com> <4FE827EA.6000603@redhat.com> <4FE83A2F.8010201@siemens.com> <4FE83CD6.7000607@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , qemu-devel , kvm , Liu Ping Fan , Marcelo Tosatti To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:56586 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755572Ab2FYLBw (ORCPT ); Mon, 25 Jun 2012 07:01:52 -0400 In-Reply-To: <4FE83CD6.7000607@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/25/2012 01:26 PM, Jan Kiszka wrote: > On 2012-06-25 12:15, Jan Kiszka wrote: >> On 2012-06-25 10:57, Avi Kivity wrote: >>> The repetitiveness of this code suggests a different way of doing this: >>> make every API call be its own subtransaction and perform the flush in >>> memory_region_begin_transaction() (maybe that's the answer to my >>> question above). >> >> So you want me to wrap the core of those services in >> begin/commit_transaction instead? Just to be sure I got the idea. > > What we would lose this way (transaction_commit) is the ability to skip > updates on !mr->enabled. We could have an internal memory_region_begin_transaction_mr() which checks mr->enabled and notes it if its clear (but anything else would have to undo this). I don't think it's worth it, let's lose the optimization and see if it shows up anywhere. -- error compiling committee.c: too many arguments to function