Hi Thomas, What does 'top' say while the emulation is running? I have an 8 cpu-thread system, yet 'top' never shows more than about 300% cpu. I would have thought it would get closer to 800% cpu. And running qemu as root with nice -20 doesn't seem to make much difference.
- Paul On Thu, Oct 8, 2020 at 12:00 AM Thomas <74cmo...@gmail.com> wrote: > > 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 > > >