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

Dominique Rodrigues dominique.rodrigues at nanocloud.com
Sun Jan 22 06:53:40 PST 2012


Le 22/01/2012 16:00, Alon Levy a écrit :
> On Fri, Jan 20, 2012 at 02:04:47PM -0500, Yaniv Kaul wrote:
>> ----- 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.
> Looks like this could be x6 performance gain when compared to hashlittle
> (lookup3 at http://code.google.com/p/smhasher/). So it would still be
> better not to run it at all but it might stop being the bottleneck. I'll
> try to do a patch.
>

Sounds promising.

>>
>>>> /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
>>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dominique_rodrigues.vcf
Type: text/x-vcard
Size: 296 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120122/09759406/attachment-0001.vcf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3710 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120122/09759406/attachment-0001.bin>


More information about the Spice-devel mailing list