Interesting enough is: my top figure reported by perf is like yours: Samples: 6M of event 'cycles:u', Event count (approx.): 1936571734942 Overhead Command Shared Object Symbol 7,95% qemu-system-arm qemu-system-arm [.] helper_lookup_tb_ptr ◆ 4,16% qemu-system-arm qemu-system-arm [.] cpu_get_tb_cpu_state ▒ 2,52% qemu-system-arm libpthread-2.32.so [.] __pthread_mutex_lock ▒ 2,06% qemu-system-arm qemu-system-arm [.] qht_lookup_custom ▒ 1,66% qemu-system-arm qemu-system-arm [.] tlb_set_page_with_attrs ▒ 1,61% qemu-system-arm libpthread-2.32.so [.] __pthread_mutex_unlock_usercnt ▒ 1,59% qemu-system-arm qemu-system-arm [.] get_phys_addr ▒ 1,27% qemu-system-arm qemu-system-arm [.] cpu_exec ▒ 1,23% qemu-system-arm qemu-system-arm [.] object_class_dynamic_cast_assert ▒ 0,98% qemu-system-arm libc-2.32.so [.] _int_malloc ▒ 0,95% qemu-system-arm qemu-system-arm [.] object_dynamic_cast_assert ▒ 0,95% qemu-system-arm qemu-system-arm [.] tb_htable_lookup ▒ 0,92% qemu-system-arm qemu-system-arm [.] tcg_gen_code ▒ 0,91% qemu-system-arm qemu-system-arm [.] qemu_mutex_lock_impl ▒ 0,75% qemu-system-arm qemu-system-arm [.] get_page_addr_code_hostp ▒ 0,73% qemu-system-arm qemu-system-arm [.] tcg_optimize ▒ 0,71% qemu-system-arm qemu-system-arm [.] qemu_mutex_unlock_impl ▒ 0,69% qemu-system-arm libc-2.32.so [.] _int_free ▒ 0,64% qemu-system-arm qemu-system-arm [.] tb_flush_jmp_cache ▒ 0,63% qemu-system-arm qemu-system-arm [.] address_space_ldl_le ▒ 0,62% qemu-system-arm libpthread-2.32.so [.] __lll_lock_wait ▒ 0,58% qemu-system-arm libpthread-2.32.so [.] pthread_cond_wait@@GLIBC_2.3.2 ▒ 0,52% qemu-system-arm qemu-system-arm [.] cpu_reset_interrupt ▒ 0,52% qemu-system-arm libc-2.32.so [.] cfree@GLIBC_2.2.5 ▒ 0,52% qemu-system-arm qemu-system-arm [.] qemu_set_irq ▒
However the absolute time is 3-4 minutes. And I don't know where I should start optimization now. Am 07.10.20 um 14:02 schrieb Alex Bennée: > Thomas Schneider <74cmo...@gmail.com> writes: > >> Are you referring to this tool? >> https://github.com/stefano-garzarella/qemu-boot-time >> <https://github.com/stefano-garzarella/qemu-boot-time> > No - just plain perf: > > perf record $QEMU $ARGS > > Then a "perf report" which will show you the hotspots, for example: > > 8.92% qemu-system-aar qemu-system-aarch64 [.] helper_lookup_tb_ptr > 4.76% qemu-system-aar qemu-system-aarch64 [.] liveness_pass_1 > 3.69% qemu-system-aar qemu-system-aarch64 [.] tcg_gen_code > 2.95% qemu-system-aar qemu-system-aarch64 [.] qht_lookup_custom > 2.93% qemu-system-aar qemu-system-aarch64 [.] tcg_optimize > 1.28% qemu-system-aar qemu-system-aarch64 [.] tcg_out_opc.isra.15 > 1.09% qemu-system-aar qemu-system-aarch64 [.] get_phys_addr_lpae > 1.09% qemu-system-aar [kernel.kallsyms] [k] > isolate_freepages_block > 1.05% qemu-system-aar qemu-system-aarch64 [.] cpu_get_tb_cpu_state > 0.98% qemu-system-aar [kernel.kallsyms] [k] do_syscall_64 > 0.94% qemu-system-aar qemu-system-aarch64 [.] tb_lookup_cmp > 0.78% qemu-system-aar qemu-system-aarch64 [.] init_ts_info > 0.73% qemu-system-aar qemu-system-aarch64 [.] tb_htable_lookup > 0.73% qemu-system-aar qemu-system-aarch64 [.] tb_gen_code > 0.73% qemu-system-aar qemu-system-aarch64 [.] > tlb_set_page_with_attrs > >> >> Am 07.10.2020 um 13:00 schrieb Alex Bennée: >>> perf to record your boot >