Skip to content
  • Michael Roth's avatar
    main-loop: For tools, initialize timers as part of qemu_init_main_loop() · d34e8f6e
    Michael Roth authored
    
    
    In some cases initializing the alarm timers can lead to non-negligable
    overhead from programs that link against qemu-tool.o. At least,
    setting a max-resolution WinMM alarm timer via mm_start_timer() (the
    current default for Windows) can increase the "tick rate" on Windows
    OSs and affect frequency scaling, and in the case of tools that run
    in guest OSs such has qemu-ga, the impact can be fairly dramatic
    (+20%/20% user/sys time on a core 2 processor was observed from an idle
    Windows XP guest).
    
    This patch doesn't address the issue directly (not sure what a good
    solution would be for Windows, or what other situations it might be
    noticeable), but it at least limits the scope of the issue to programs
    that "opt-in" to using the main-loop.c functions by only enabling alarm
    timers when qemu_init_main_loop() is called, which is already required
    to make use of those facilities, so existing users shouldn't be
    affected.
    
    Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
    Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
    d34e8f6e