I was able to make some progress on this issue, it looks like this commit: b1bbfe72ec1ebf302d97f886cc646466c0abd679 aio / timers: On timer modification, qemu_notify or aio_notify
causes the degradation, I'm attaching the patch that reverts changes in this commit. Although emulator is performing better with this patch, it's still not as good as it was with qemu 1.6. Also, this patch is a dirty hack of course, it reverts generic code that works fine on linux and mac os x, but the problem is on windows only. Any comments are welcome... On 03/12/2014 02:59 PM, Stanislav Vorobiov wrote: > Hi all, > > Just for information, Intel VTune Amplifier XE for windows works great with > MinGW, it's capable of gathering > correct profiles and symbol naming is ok, you don't even need to build qemu > with some special options. > > I'm using it now to find the cause of this performance degradation, m.b. > someone else will find it useful as well. > > Thanks. > > On 01/16/2014 06:38 AM, 황석연 wrote: >> Dear all, >> >> >> >> @ stanislav >> >> You are right. The performance profiling in Windows is very hard job. >> >> Actually I prefer using profiling tool to analysing sources, trial and >> error, in Windows - MinGW. >> >> >> >> @ all >> >> If anyone knows good profiling tool in Windows - MinGW, >> >> Please let us know. >> >> >> >> Thanks. >> >> >> >> >> >> ------- *Original Message* ------- >> >> *Sender* : Stanislav Vorobiov<[email protected]> Leading >> Engineer/SRR-Mobile S/W Group/삼성전자 >> >> *Date* : 2014-01-15 14:54 (GMT+09:00) >> >> *Title* : Re: [Dev] [SDK/Emulator] Tizen emulator on windows performance >> >> >> >> Hi, Syeon >> >> Yes, but unfortunately it's hard to say where exactly is that problem. It >> would be great to do some profiling, but on MinGW it seems >> not an easy task. In MinGW there're no things such as valgrind or perf and >> all existing windows profiling tools require .pdb database, >> which means they can only profile executables built by visual studio. After >> some struggling I've managed to run qemu with gprof, which >> gave me output with correct symbol naming, but unfortunately the output is >> still not usefull, m.b. it's because gprof is known to not >> work correctly with multithreaded applications. Do you have suggestions how >> can we profile qemu on windows ? Are there any good tools >> you know about ? >> >> On 01/15/2014 08:35 AM, SeokYeon Hwang wrote: >>> Dear all, >>> >>> >>> >>> I can reproduce performance degradation on Windows. >>> >>> We should figure out why. >>> >>> I thinks it could be related with timer logic changes on 1.7.0. >>> >>> >>> >>> Thanks. >>> >>> >>> >>> ------- *Original Message* ------- >>> >>> *Sender* : Stanislav VorobiovLeading Engineer/SRR-Mobile S/W Group/삼성전자 >>> >>> *Date* : 2014-01-13 14:52 (GMT+09:00) >>> >>> *Title* : Re: [Dev] [SDK/Emulator] Tizen emulator on windows performance >>> >>> >>> >>> Hi, Syeon >>> >>> It's not necessarily related to HAXM, the thing is slowdown is significant, >>> e.g. home screen renders about >>> 5 times longer than before, home screen scrolling is like 2-3 fps. Other >>> graphics apps are also slow. >>> >>> On 01/13/2014 06:19 AM, 황석연 wrote: >>>> Hi, stanislav, >>>> >>>> >>>> >>>> According to my memory, there is no significant changes related with HAXM. >>>> >>>> But I will re-check about it. >>>> >>>> >>>> >>>> ------- *Original Message* ------- >>>> >>>> *Sender* : Stanislav VorobiovLeading Engineer/SRR-Mobile S/W Group/삼성전자 >>>> >>>> *Date* : 2014-01-10 22:23 (GMT+09:00) >>>> >>>> *Title* : Re: [Dev] [SDK/Emulator] Tizen emulator on windows performance >>>> >>>> >>>> >>>> Also, this happens both with maru VGA and VIGS >>>> >>>> On 01/10/2014 01:06 PM, Stanislav Vorobiov wrote: >>>>> Hi, all >>>>> >>>>> After updating tizen branch today (with 1.7.0 merge) I've noticed >>>>> performance degradation on windows 7 64-bit with HAXM-enabled, >>>>> is this some known issue ? Were there significant changes to HAXM in >>>>> 1.7.0 merge ? >>>>> >>>>> On 01/08/2014 07:59 AM, 황석연 wrote: >>>>>> Dear all, >>>>>> >>>>>> >>>>>> >>>>>> A QEMU 1.7.0 stable version has been merged into tizen branch. >>>>>> >>>>>> >>>>>> >>>>>> Thanks. >>>>>> >>>>>> >>>>>> >>>>>> ------- *Original Message* ------- >>>>>> >>>>>> *Sender* : 황석연책임/VM파트/에스코어 >>>>>> >>>>>> *Date* : 2014-01-03 13:16 (GMT+09:00) >>>>>> >>>>>> *Title* : [Dev] [SDK/Emulator] Merge qemu stable-1.7.0 on tizen emulator >>>>>> >>>>>> >>>>>> >>>>>> Dear all, >>>>>> >>>>>> >>>>>> >>>>>> We has been tested "Tizen Emulator" with tizen_qemu_1.7 branch, and it >>>>>> works well. >>>>>> >>>>>> So we planned to merge it to tizen branch on next Tuesday - 7, Jan. >>>>>> >>>>>> If you have any opinion, please let me know. >>>>>> >>>>>> >>>>>> >>>>>> *And please subscribe "Dev" mailing list on "tizen.org".* >>>>>> >>>>>> *https://lists.tizen.org/listinfo/dev* >>>>>> >>>>>> *I don't add any other recipients after this mail.* >>>>>> >>>>>> >>>>>> >>>>>> @ John, >>>>>> >>>>>> Please forward this mail to IVI maintainer. >>>>>> >>>>>> >>>>>> >>>>>> Thanks. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> https://lists.tizen.org/listinfo/dev >>>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> https://lists.tizen.org/listinfo/dev >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >>> >>> >> >> >> >> >> >> >> >
>From 1d9a2ae1a4972929a14e40bb2d3772d359f20157 Mon Sep 17 00:00:00 2001 From: Stanislav Vorobiov <[email protected]> Date: Thu, 13 Mar 2014 20:13:37 +0300 Subject: [PATCH] qemu-timer: regression fix dirty hack --- qemu-timer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qemu-timer.c b/qemu-timer.c index e15ce47..56c013a 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -380,7 +380,9 @@ static void timerlist_rearm(QEMUTimerList *timer_list) { /* Interrupt execution to force deadline recalculation. */ qemu_clock_warp(timer_list->clock->type); - timerlist_notify(timer_list); + if (use_icount) { + timerlist_notify(timer_list); + } } /* stop a timer, but do not dealloc it */ -- 1.8.0.msysgit.0
_______________________________________________ Dev mailing list [email protected] https://lists.tizen.org/listinfo/dev
