Le 18/01/2012 17:43, Alon Levy a écrit :
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.
Yes, so here is another timing from ssh login on the VM :

PerfTop: 686 irqs/sec kernel: 0.4% exact: 0.0% [1000Hz cpu-clock], (all, 1 CPU)
--------------------------------------------------------------------------------------------------

             samples  pcnt function                DSO
_______ _____ _______________________ __________________________________________

5817.00 62.0% hashlittle /usr/lib64/xorg/modules/drivers/qxl_drv.so
             2821.00 30.0% __memcpy_ssse3          /lib64/libc-2.12.so
384.00 4.1% download_box /usr/lib64/xorg/modules/drivers/qxl_drv.so 207.00 2.2% fetch_scanline_x8r8g8b8 /usr/lib64/libpixman-1.so.0.18.4
               74.00  0.8% __memset_sse2           /lib64/libc-2.12.so
17.00 0.2% qxl_allocnf /usr/lib64/xorg/modules/drivers/qxl_drv.so
               16.00  0.2% finish_task_switch      [kernel.kallsyms]
               11.00  0.1% retint_careful          [kernel.kallsyms]
                9.00  0.1% _spin_unlock_irqrestore [kernel.kallsyms]
8.00 0.1% hash_and_copy /usr/lib64/xorg/modules/drivers/qxl_drv.so


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.

Ok. So I hope you'll find some optimizations in a close future.

Thank you anyway for all the nice job already done on SPICE.

/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.rodrig...@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@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.rodrig...@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@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.rodrig...@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.rodrig...@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@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.rodrig...@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



<<attachment: dominique_rodrigues.vcf>>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to