Just made the first faltering steps towards proper call-graph support in OProfile via gprof-format export.
Seems to work nicely :
12.97 73.70 1/58 common_interrupt <cycle 1> [81] 77.79 442.20 6/58 kmem_cache_free [9] 661.24 3758.69 51/58 _pte_chain_free [12] [10] 4.6 752.00 4274.59 58 page_remove_rmap [10] 1596.54 1578.45 594/679 zap_pte_range [14] 973.46 112.77 189/1594 do_wp_page [3] 8.73 3.54 17/2542 zap_pmd_range [27] 0.28 0.49 8/16796 handle_mm_fault [31] 0.00 0.32 2/2 copy_one_pte [802]Now I just need to do lots of cleanup, refactoring, analysis etc. But as it started off as basically completely experimental, I'm quite pleased the results are so sane from first impressions.