[Spice-devel] Delay in Gimp when using qxl driver

Yaniv Kaul ykaul at redhat.com
Fri Jan 20 11:04:47 PST 2012


----- Original Message -----
> On Wed, Jan 18, 2012 at 11:59:45AM +0100, Dominique Rodrigues wrote:
> > Le 18/01/2012 11:48, Alon Levy a écrit :
> > >On Wed, Jan 18, 2012 at 11:39:13AM +0100, Dominique Rodrigues
> > >wrote:
> > >>Le 18/01/2012 11:32, Alon Levy a écrit :
> > >>>On Wed, Jan 18, 2012 at 11:27:14AM +0100, Dominique Rodrigues
> > >>>wrote:
> > >>>>Le 18/01/2012 11:18, Alon Levy a écrit :
> > >>>>>On Wed, Jan 18, 2012 at 09:54:49AM +0100, Dominique Rodrigues
> > >>>>>wrote:
> > >>>>>>Le 18/01/2012 09:44, Alon Levy a écrit :
> > >>>>>>>On Wed, Jan 18, 2012 at 08:06:40AM +0100, Dominique
> > >>>>>>>Rodrigues wrote:
> > >>>>>>>>Hi,
> > >>>>>>>>
> > >>>>>>>>Since I use qxl driver in virtual desktop powered by
> > >>>>>>>>qemu-kvm, I
> > >>>>>>>>found a strange problem with Gimp.
> > >>>>>>>>
> > >>>>>>>>After launching Gimp, open a new windows, and then try to
> > >>>>>>>>draw
> > >>>>>>>>something. It appears that the drawing is very slow and
> > >>>>>>>>does not
> > >>>>>>>>follow the mouse at all.
> > >>>>>>>>
> > >>>>>>>>It is the same if I use spicy, spicec or vnc to connect to
> > >>>>>>>>my
> > >>>>>>>>virtual desktop.
> > >>>>>>>>
> > >>>>>>>>This problem does not appear with cirrus or vmware graphic
> > >>>>>>>>drivers.
> > >>>>>>>>
> > >>>>>>>>I found that on any Linux distribution (CentOS, RHEL,
> > >>>>>>>>Scientific
> > >>>>>>>>Linux, Debian, Ubuntu).
> > >>>>>>>>
> > >>>>>>>>I currently use :
> > >>>>>>>>- qemu-kvm 1.0 compiled with spice support
> > >>>>>>>>- spice-protocol 0.10.1
> > >>>>>>>>- spice 0.10
> > >>>>>>>>- spice-gtk 0.7
> > >>>>>>>>- xorg-qxl driver 0.16
> > >>>>>>>>
> > >>>>>>>>Is there any explanation for that ?
> > >>>>>>>I would assume it is qxl driver cpu bound on something,
> > >>>>>>>probably busy
> > >>>>>>>waiting on the command ring. Can you run perf top on the
> > >>>>>>>guest?
> > >>>>>>>
> > >>>>>>Indeed, during the drawing in Gimp, Xorg takes between 55%
> > >>>>>>and 66% of CPU.
> > >>>>>>
> > >>>>>>After, Xorg goes down to 0.3%.
> > >>>>>>
> > >>>>>>(Test done on CentOS 6.2 guest, with 1280 Mb vRAM)
> > >>>>>ok, can you drill down - you should be able to install the
> > >>>>>debug symbols
> > >>>>>for the qxl driver (xorg-x11-drv-qxl package) and see the
> > >>>>>specific
> > >>>>>functions that are taking the most time.
> > >>>>>
> > >>>>I installed qxl driver from freedesktop.org :
> > >>>>
> > >>>># wget -c
> > >>>>http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-0.0.16.tar.bz2
> > >>>># tar xvfj xf86-video-qxl-0.0.16.tar.bz2
> > >>>># cd xf86-video-qxl-0.0.16
> > >>>># ./configure --libdir=/usr/lib64 --prefix=/usr CFLAGS='-O3'
> > >>>># make
> > >>>># make install
> > >>>>
> > >>>>Do you mean that I should use CFLAGS with "-g" ?
> > >>>I think that's it, yes.
> > >>>
> > >>Ok. So how do you profile debug messages afterwhile ?
> > >>
> > >>If I "tail -f /var/log/Xorg.0.log", the only message I got is :
> > >>
> > >>  Bad bpp: 1 (1)
> > >>
> > >>Other messages look standard.
> > >>
> > >Right, that's not interesting. What I meant was:
> > >
> > ># yum install perf
> > ># perf top
> > >copy paste the top entries.
> > >
> > Ok, that's it (from a screenshot of the VM):
> 
> Try ssh'ing to the vm, you can then use copy-paste.
> 
> > 
> > samples    pcnt    function        DSO
> > 
> > 3796.00        60.4%    hashlittle
> 
> This sucks, unfortunately I don't have any quick fix for it. It's the
> hash computation done on each image. Needless to say it needs to be
> optimized - either made more efficient or reduce the number of calls.
> 
> Soren, FYI.

You could move to murmur2, like Windows' QXL driver (https://bugs.freedesktop.org/show_bug.cgi?id=37465) or murmur3 or other faster ones (https://bugs.freedesktop.org/show_bug.cgi?id=35775).
At least it's not hashed twice now(https://bugs.freedesktop.org/show_bug.cgi?id=37977 - worth updating bug status?!), but I'm not sure it should be hashed at all, if it's not cached.
Y.


> 
> > /usr/lib64/xorg/modules/drivers/qxl_drv.so
> > 2014.00        32.1%    __memcpy_ssse3      /lib64/libc-2.12.so
> > 341.00            5.4%    download_box
> > /usr/lib64/xorg/modules/drivers/qxl_drv.so
> > 61.00               1.0%    __memset_sse2
> >        /lib64/libc-2.12.so
> > 11.00               0.2%    qxl_ring_push
> > /usr/lib64/xorg/modules/drivers/qxl_drv.so
> > 10.00               0.2%    finish_task_switch    [kernel.kallsyms]
> > 8.00                 0.1%    qxl_allocnf
> > /usr/lib64/xorg/modules/drivers/qxl_drv.so
> > 8.00                 0.1%    retint_careful
> >            [kernel.kallsyms]
> > 6.00                 0.1%    hash_and_copy
> > /usr/lib64/xorg/modules/drivers/qxl_drv.so
> 
> > 
> > >>>>>>>>Regards,
> > >>>>>>>>
> > >>>>>>>>--
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>        Dominique Rodrigues
> > >>>>>>>>
> > >>>>>>>>nanoClouD<http://www.nanocloud.com>
> > >>>>>>>>8, rue Lemercier
> > >>>>>>>>75017 Paris
> > >>>>>>>>France
> > >>>>>>>>standard : +33 1 77 69 64 38
> > >>>>>>>>529 002 743 R.C.S. Paris
> > >>>>>>>>begin:vcard
> > >>>>>>>>fn:Dominique Rodrigues
> > >>>>>>>>n:Rodrigues;Dominique
> > >>>>>>>>org:nanoClouD
> > >>>>>>>>adr:;;8, rue Lemercier;Paris;;75017;France
> > >>>>>>>>email;internet:dominique.rodrigues at nanocloud.com
> > >>>>>>>>title:Directeur Technique
> > >>>>>>>>tel;work:+33 (0) 1 77 69 64 38
> > >>>>>>>>tel;cell:+33 (0) 6 28 52 37 70
> > >>>>>>>>url:www.nanocloud.com
> > >>>>>>>>version:2.1
> > >>>>>>>>end:vcard
> > >>>>>>>>
> > >>>>>>>>_______________________________________________
> > >>>>>>>>Spice-devel mailing list
> > >>>>>>>>Spice-devel at lists.freedesktop.org
> > >>>>>>>>http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > >>>>>>begin:vcard
> > >>>>>>fn:Dominique Rodrigues
> > >>>>>>n:Rodrigues;Dominique
> > >>>>>>org:nanoClouD
> > >>>>>>adr:;;8, rue Lemercier;Paris;;75017;France
> > >>>>>>email;internet:dominique.rodrigues at nanocloud.com
> > >>>>>>title:Directeur Technique
> > >>>>>>tel;work:+33 (0) 1 77 69 64 38
> > >>>>>>tel;cell:+33 (0) 6 28 52 37 70
> > >>>>>>url:www.nanocloud.com
> > >>>>>>version:2.1
> > >>>>>>end:vcard
> > >>>>>>
> > >>>>>
> > >>>>>>_______________________________________________
> > >>>>>>Spice-devel mailing list
> > >>>>>>Spice-devel at lists.freedesktop.org
> > >>>>>>http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > >>>>begin:vcard
> > >>>>fn:Dominique Rodrigues
> > >>>>n:Rodrigues;Dominique
> > >>>>org:nanoClouD
> > >>>>adr:;;8, rue Lemercier;Paris;;75017;France
> > >>>>email;internet:dominique.rodrigues at nanocloud.com
> > >>>>title:Directeur Technique
> > >>>>tel;work:+33 (0) 1 77 69 64 38
> > >>>>tel;cell:+33 (0) 6 28 52 37 70
> > >>>>url:www.nanocloud.com
> > >>>>version:2.1
> > >>>>end:vcard
> > >>>>
> > >>>
> > >>begin:vcard
> > >>fn:Dominique Rodrigues
> > >>n:Rodrigues;Dominique
> > >>org:nanoClouD
> > >>adr:;;8, rue Lemercier;Paris;;75017;France
> > >>email;internet:dominique.rodrigues at nanocloud.com
> > >>title:Directeur Technique
> > >>tel;work:+33 (0) 1 77 69 64 38
> > >>tel;cell:+33 (0) 6 28 52 37 70
> > >>url:www.nanocloud.com
> > >>version:2.1
> > >>end:vcard
> > >>
> > >
> > >
> > >
> > >>_______________________________________________
> > >>Spice-devel mailing list
> > >>Spice-devel at lists.freedesktop.org
> > >>http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 
> > begin:vcard
> > fn:Dominique Rodrigues
> > n:Rodrigues;Dominique
> > org:nanoClouD
> > adr:;;8, rue Lemercier;Paris;;75017;France
> > email;internet:dominique.rodrigues at nanocloud.com
> > title:Directeur Technique
> > tel;work:+33 (0) 1 77 69 64 38
> > tel;cell:+33 (0) 6 28 52 37 70
> > url:www.nanocloud.com
> > version:2.1
> > end:vcard
> > 
> 
> 
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list