Dear Siamashka & List , executing Xorg and gtkperf in different cpus using taskset does makes a difference. It was possible to cut down from 25secs to 17secs. Now I am happy with my new toy (board) :)
I will also take a closer look at your other suggestions of investigation. Thanks & Regds mallah. On Thu, Mar 27, 2014 at 12:12 AM, Siarhei Siamashka < siarhei.siamas...@gmail.com> wrote: > On Tue, 25 Mar 2014 03:23:54 +0530 > Rajesh Mallah <mallah.raj...@gmail.com> wrote: > > > I also observed that a clone of the rootfs from Mele M3 to another > > A20 based TB Box consistently performed slower than Mele M3. > > > > MeleM3 : 18.95 secs > > Other A20: 25 secs > > > > the dump from a10-meminfo-static were same in both the cases > > except for dram_zq param > > > > Can anyone pls explain why the difference in the A20 based boards > > itself ? > > To profile this use case, we can run the following command: > > $ DISPLAY=:0 perf record -e cpu-clock -a gtkperf -a > > This instructed perf to collect statistics for the whole system > from all CPU cores while gtkperf is running. Now after we have all > the statistics collected, we can check the percentage of CPU usage > for different processes: > > $ perf report -s pid > > 49.02% gtkperf:19651 > 30.54% Xorg:19603 > 18.75% swapper: 0 > 0.69% kworker/0:1:19569 > 0.32% xkbcomp:19656 > 0.31% xkbcomp:19655 > 0.12% perf:19650 > > This means that some of the time the CPU cores were idle (swapper). The > CPU usage in gtkperf is almost twice higher than in Xorg. You can also > run 'perf report' to see the time spent in each individual function (if > you have debugging symbols). > > Now there is indeed one strange thing. If I run 'htop' while gtkperf > is running, I can sometimes see that only one CPU core is fully loaded > while the other is completely idle. And both gtkperf and Xorg processes > are running on the same fully loaded CPU core. > > As an experiment (on an Allwinner A20 based Cubietruck board), we can > try pinning gtkperf and Xorg processes to CPU cores. Start Xorg and pin > it to the CPU core 0: > > # taskset -c 0 Xorg > > Then run gtkperf pinned to the same CPU 0 core as Xorg: > > $ DISPLAY=:0 taskset -c 0 gtkperf -a > > Total time: 26.78 > > And also pinned to a different CPU 1 core for comparison: > > $ DISPLAY=:0 taskset -c 1 gtkperf -a > > Total time: 19.44 > > When Xorg and gtkperf are running on different CPU cores, the > performance is better. Without using taskset to pin processes to > CPU cores, gtkperf result is somewhere between these 19.44 and > 26.78 times, typically closer to the latter one. > > It basically looks like the CFS scheduler in the linux-sunxi 3.4.79 > kernel is not doing a stellar job for gtkperf. > > However a similar gtkperf behaviour can be also observed on > ARM Chromebook (dual-core Cortex-A15 1.7GHz), when using exactly > the same rootfs: > > Total time: 9.35 (just run gtkperf without any tweaks) > Total time: 9.82 (Xorg and gtkperf pinned to the same CPU core) > Total time: 7.11 (Xorg and gtkperf pinned to different CPU cores) > > -- > Best regards, > Siarhei Siamashka > -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.