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

Alon Levy alevy at redhat.com
Wed Jan 18 08:43:14 PST 2012


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.

> /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
> 





More information about the Spice-devel mailing list