Hi Ingo, On Sat, 14 Sep 2013 08:11:49 +0200, Ingo Molnar wrote: > * Frederic Weisbecker <fweis...@gmail.com> wrote: >> My patches and Namhyung's should improve the comm situation a lot but we >> can't do much miracle. The only way would be perhaps to be able to limit >> the deepness of the callchain branches. >> >> Now may be we can find other big contention point in perf. It's possible >> we also have some endless loop somewhere. > > Well, it was the 100,000+ step linear list walk that was causing 90% of > the slowness here. Namhyung's patch should dramatically improve that. I > guess time for someone to post a combined tree so that it can be tested > all together?
I pushed combined tree to 'perf/callchain-v2' branch in my tree git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git Please note that I also pushed other versions (v[1-3]). The v1 is my previous rbtree conversion patch, v2 adds Frederic's new comm infrastructure series on top and v3 adds my revised patch to refer current comm [1] on top of v2. I did my own test again among them. Test data is 400MB perf.data file created by parallel kernel build. $ ls -lh perf.data.big -rw-------. 1 namhyung namhyung 400M Sep 9 10:21 perf.data.big For more precise result, I changed cpufreq governor to 'performance' # echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor and run perf report on the cpu. $ taskset -c 3 time -p perf --no-pager report --stdio -i perf.data.big > /dev/null I ran it multiple times for each case and the results did not vary much. baseline v1 v2 v3 ---------------------------------------------------------- real 380.17 12.63 10.02 9.03 user 378.86 11.95 9.66 8.69 sys 0.70 0.65 0.33 0.34 I also tried to cache latest result and reuse it when adding a callchain (in callchain_append() function) but it only hits ~5% and did not help the performance. Thanks, Namhyung [1] https://lkml.org/lkml/2013/9/16/565 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/