From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VjVzt-0003U0-W0 for qemu-devel@nongnu.org; Thu, 21 Nov 2013 10:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VjVzp-000314-3D for qemu-devel@nongnu.org; Thu, 21 Nov 2013 10:16:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:23946) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VjVzo-00030x-QS for qemu-devel@nongnu.org; Thu, 21 Nov 2013 10:16:45 -0500 Message-ID: <528E23CD.1090308@redhat.com> Date: Thu, 21 Nov 2013 08:16:29 -0700 From: Eric Blake MIME-Version: 1.0 References: <1385023877-26524-1-git-send-email-pl@kamp.de> <1385023877-26524-4-git-send-email-pl@kamp.de> In-Reply-To: <1385023877-26524-4-git-send-email-pl@kamp.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="CoEGG996jvVa2i22DBUFvtrRhKL2RtAfr" Subject: Re: [Qemu-devel] [PATCHv2 3/6] ui/vnc: optimize dirty bitmap tracking List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Lieven , qemu-devel@nongnu.org Cc: corentincj@iksaif.net, hengqing.hu@gmail.com, anthony@codemonkey.ws This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --CoEGG996jvVa2i22DBUFvtrRhKL2RtAfr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 11/21/2013 01:51 AM, Peter Lieven wrote: > vnc_update_client currently scans the dirty bitmap of each client > bitwise which is a very costly operation if only few bits are dirty. > vnc_refresh_server_surface does almost the same. > this patch optimizes both by utilizing the heavily optimized > function find_next_bit to find the offset of the next dirty > bit in the dirty bitmaps. >=20 > The following artifical test (just the bitmap operation part) running s/artifical/artificial/ > vnc_update_client 65536 times on a 2560x2048 surface illustrates the > performance difference: >=20 > All bits clean - vnc_update_client_new: 0.07 secs > vnc_update_client_old: 10.98 secs >=20 > All bits dirty - vnc_update_client_new: 11.26 secs > vnc_update_client_old: 20.19 secs >=20 > Few bits dirty - vnc_update_client_new: 0.08 secs > vnc_update_client_old: 10.98 secs >=20 > The case for all bits dirty is still rather slow, this > is due to the implementation of find_and_clear_dirty_height. > This will be addresses in a separate patch. s/addresses/addressed/ --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --CoEGG996jvVa2i22DBUFvtrRhKL2RtAfr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJSjiPNAAoJEKeha0olJ0Nqa6IH/i4Hq6jSOptxDwQE5Mys+anU 8zQD7qsBbPu2LAoRQBIVZgM+sIDFbrsKcYMt5XNS4eygiYmbj18a7I+507BpklsV VbS2YHU4OOS5O5KwGd0SrgsPuCI0fwMRL3ZLwL33Q+kh738OxgZvKxBSgyRJUxv7 n8WzH7LcDQ4GeW0tDHmWMGarO3GYqC0Sbc1doUFka40BbHndFHNO4auy7IAKCY5x bMxBj2bocrjELBi3p7WEmYeV42GIjjsq6p7RtPLPKwZZ+EIfDbOeXIBSuftrRV2b 9tmOHyIdvAq5D19Tjvdu22UBvr3+eCSOrUXLaLk4ehA0Mg4qq9CDQyno+9ljdpk= =DTto -----END PGP SIGNATURE----- --CoEGG996jvVa2i22DBUFvtrRhKL2RtAfr--