qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Significant performance regression in qemu-system-mips.


From: Rob Landley
Subject: [Qemu-devel] Significant performance regression in qemu-system-mips.
Date: Wed, 24 Mar 2010 15:34:00 -0500
User-agent: KMail/1.11.2 (Linux/2.6.28-18-generic; KDE/4.2.2; x86_64; ; )

I have a native build under qemu that gets killed if it doesn't produce a line 
of output for 60 seconds (hang detection enforced by the host monitoring 
qemu's stdout with --nographic, not from within qemu).

In the most recent release version, it never came close to triggering on mips 
with a 30 second timeout.  In the current -git version (well, as of Thursday 
anyway), it triggers frequently (about 90% of the time) even with a 60 second 
timeout.

I bisected it to this:

commit 1828be316f6637d43dd4c4f5f32925b17fb8107f
Author: Paolo Bonzini <address@hidden>
Date:   Wed Mar 10 11:38:41 2010 +0100

    more alarm timer cleanup
    
    The timer_alarm_pending variable is related to the alarm timer but not
    placed in the struct.  Also, in qemu_mod_timer the wrong flag was being
    tested: the timer is rearmed in the alarm timer "bottom half", so the
    right flag to test there is the "pending" flag.
    
    Finally, I hoisted the NULL checks from alarm_has_dynticks to
    host_alarm_handler.
    
    Signed-off-by: Paolo Bonzini <address@hidden>
    Signed-off-by: Anthony Liguori <address@hidden>

Reverting that patch fixed it (git show HEAD | patch -R -p1), by which I mean 
three consecutive runs with 30 second timeout didn't trigger the hang 
detection.

Unfortunately, I can't revert that patch in current origin/master because most 
of the hunks fail...

Help?

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds




reply via email to

[Prev in Thread] Current Thread [Next in Thread]