Le 22/01/2012 15:52, Dominique Rodrigues a écrit :
Le 22/01/2012 15:46, Alon Levy a écrit :On Sun, Jan 22, 2012 at 03:18:14PM +0100, Dominique Rodrigues wrote:Le 20/01/2012 20:04, Yaniv Kaul a écrit :----- Original Message -----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.samples pcnt function DSO3796.00 60.4% hashlittleThis 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.Y.That's true : when you draw in Gimp in a Windows Seven (64 bits) guest, you have absolutely no delay, at any speed. Soren has recently improved a lot the qxl driver for Linux, but if you accelerate the mouvement of your mouse, the drawing can't still follow your mouse in Gimp. I don't know why different functions have been choosen into the qxl drivers for Windows and Linux, but it could be interesting tobecause it was done by different people at different times.That's clear. I also thought that this was the main reason.However, since the qxl driver is the key to benefit from the best user experience in SPICE, my opinion is that it is important to optimize it as far as possible. Every effort for that goal is welcome.Dominiquebenefit from the best of these different versions. Dominique Rodrigues
By the way, since last improvements from Soren on the qxl driver, the new consuming function is "qxl_update_area".
Output of perf top (during rapid drawing in Gimp) :PerfTop: 930 irqs/sec kernel:39.8% exact: 0.0% [1000Hz cpu-clock], (all, 1 CPU)
---------------------------------------------------------------------------------------------------------------------------------- samples pcnt function DSO_______ _____ _____________________________ __________________________________________
1313.00 49.6% qxl_update_area /usr/lib64/xorg/modules/drivers/qxl_drv.so
294.00 11.1% retint_careful [kernel.kallsyms]122.00 4.6% qxl_ring_push /usr/lib64/xorg/modules/drivers/qxl_drv.so
92.00 3.5% finish_task_switch [kernel.kallsyms] 75.00 2.8% _spin_unlock_irqrestore [kernel.kallsyms]33.00 1.2% g_type_check_instance_cast /lib64/libgobject-2.0.so.0.2200.5 33.00 1.2% pixman_blt_sse2 /usr/lib64/libpixman-1.so.0.18.4 31.00 1.2% _int_malloc /lib64/libc-2.12.so 30.00 1.1% __pthread_mutex_lock_internal /lib64/libpthread-2.12.so 30.00 1.1% g_type_check_instance_is_a /lib64/libgobject-2.0.so.0.2200.5 28.00 1.1% g_hash_table_lookup /lib64/libglib-2.0.so.0.2200.5 23.00 0.9% g_slice_alloc /lib64/libglib-2.0.so.0.2200.5 21.00 0.8% __pthread_mutex_unlock /lib64/libpthread-2.12.so
21.00 0.8% unix_poll [kernel.kallsyms] 19.00 0.7% native_flush_tlb [kernel.kallsyms] 16.00 0.6% __do_page_fault [kernel.kallsyms]15.00 0.6% _int_free /lib64/libc-2.12.so 15.00 0.6% __memcpy_ssse3 /lib64/libc-2.12.so 14.00 0.5% __strstr_sse2 /lib64/libc-2.12.so
14.00 0.5% clear_page_c [kernel.kallsyms] 11.00 0.4% do_select [kernel.kallsyms]9.00 0.3% qxl_surface_create /usr/lib64/xorg/modules/drivers/qxl_drv.so 8.00 0.3% g_atomic_int_exchange_and_add /lib64/libglib-2.0.so.0.2200.5 8.00 0.3% g_param_spec_pool_lookup /lib64/libgobject-2.0.so.0.2200.5 8.00 0.3% __GI___strcmp_ssse3 /lib64/libc-2.12.so 7.00 0.3% __GI_vfprintf /lib64/libc-2.12.so 7.00 0.3% g_slice_free1 /lib64/libglib-2.0.so.0.2200.5
7.00 0.3% sock_poll [kernel.kallsyms]7.00 0.3% __GI___libc_malloc /lib64/libc-2.12.so
Dominique
<<attachment: dominique_rodrigues.vcf>>
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel