From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N7rpe-0002AD-54 for qemu-devel@nongnu.org; Tue, 10 Nov 2009 09:36:30 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N7rpW-00027m-GE for qemu-devel@nongnu.org; Tue, 10 Nov 2009 09:36:27 -0500 Received: from [199.232.76.173] (port=54265 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N7rpV-00027L-HX for qemu-devel@nongnu.org; Tue, 10 Nov 2009 09:36:21 -0500 Received: from mail-yx0-f188.google.com ([209.85.210.188]:38513) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N7rpV-00084O-8E for qemu-devel@nongnu.org; Tue, 10 Nov 2009 09:36:21 -0500 Received: by yxe26 with SMTP id 26so67229yxe.4 for ; Tue, 10 Nov 2009 06:36:20 -0800 (PST) Message-ID: <4AF97A5E.1070801@codemonkey.ws> Date: Tue, 10 Nov 2009 08:36:14 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: virtio: Add memory statistics reporting to the balloon driver References: <1257782838.2835.5.camel@aglitke> <1257784326.2835.16.camel@aglitke> <200911101312.02650.rusty@rustcorp.com.au> In-Reply-To: <200911101312.02650.rusty@rustcorp.com.au> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Rusty Russell Cc: Anthony Liguori , linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, Avi Kivity , Adam Litke Rusty Russell wrote: > On Tue, 10 Nov 2009 03:02:06 am Adam Litke wrote: > >> A simpler approach is to collect memory statistics in the virtio >> balloon driver and communicate them to the host via the device config space. >> > > There are two issues I see with this. First, there's an atomicity problem > since you can't tell when the stats are consistent. Actually, config writes always require notification from the guest to the host. This means the host knows when they config space is changed so atomicity isn't a problem. In fact, if it were a problem, then the balloon driver would be fundamentally broken because target and actual are stored in the config space. If you recall, we had this discussion originally wrt the balloon driver :-) > Second, polling is > ugly. > As opposed to? The guest could set a timer and update the values periodically but that's even uglier because then the host cannot determine the update granularity. > A stats vq might solve this more cleanly? > actual and target are both really just stats. Had we implemented those with a vq, I'd be inclined to agree with you but since they're implemented in the config space, it seems natural to extend the config space with other stats. Regards, Anthony Liguori