From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KxSsG-0002dc-5H for qemu-devel@nongnu.org; Tue, 04 Nov 2008 15:51:40 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KxSsE-0002dQ-NT for qemu-devel@nongnu.org; Tue, 04 Nov 2008 15:51:39 -0500 Received: from [199.232.76.173] (port=38523 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KxSsE-0002dN-LB for qemu-devel@nongnu.org; Tue, 04 Nov 2008 15:51:38 -0500 Received: from e3.ny.us.ibm.com ([32.97.182.143]:39011) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KxSsF-0007WQ-0N for qemu-devel@nongnu.org; Tue, 04 Nov 2008 15:51:39 -0500 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e3.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id mA4KpbE8025008 for ; Tue, 4 Nov 2008 15:51:37 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mA4Kpbnv142392 for ; Tue, 4 Nov 2008 15:51:37 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mA4KpbgJ004267 for ; Tue, 4 Nov 2008 15:51:37 -0500 Message-ID: <4910B5D4.9010108@us.ibm.com> Date: Tue, 04 Nov 2008 14:51:32 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] vga optmization References: <20081103173111.GC30410@poweredge.glommer> <491034BC.2050806@eu.citrix.com> <49106171.5080209@redhat.com> <5d6222a80811040655u107e242cs6f1e7aaf33f2e6dc@mail.gmail.com> <4910B3AE.9060602@redhat.com> In-Reply-To: <4910B3AE.9060602@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Glauber Costa , qemu-devel@nongnu.org Avi Kivity wrote: > Glauber Costa wrote: >> My reason to do this way, was to be lazy about updating the dirty >> bitmap. >> But if the common case is to check for all pages in the region, then >> it won't matter much. >> > > In the common case we only check for the displayable area. We should > split the region into two, one for the displayable area and one for > the offscreen framebuffer (the boundary changes dynamically with the > resolution). If qemu can tell us nobody is looking at the screen, we > can dirty tracking altogether. Yeah, there already is an ds->idle in the DisplayState code. This is set by VNC and by SDL. Of course, dirty updating is driven by vga_hw_update() which is driven by a timer who's interval is determined by ds->idle so we already do this in practice. Regards, Anthony Liguori