Slow Windows XP load after commit a9353fe897ca2687e5b3385ed39e3db3927a90e0

Bug #1672383 reported by Maskim Bakulin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

I've recently discovered, that in QEMU 2.8+ my Windows XP loading time has significantly worsened. In 2.7 it took 30-40 second to boot, but in 2.8 it became 2-2,5 minutes.

I've used Git bisect, and found out that the change happened after commit a9353fe897ca2687e5b3385ed39e3db3927a90e0, which, as far as I can tell from the commit message, handled race condition when invalidating breakpoint.

I've set a breakpoint in static void breakpoint_invalidate(CPUState *cpu, target_ulong pc), and here's a backtrace:
#0 cpu_breakpoint_insert (cpu=cpu@entry=0x555556a73be0, pc=144,
    flags=flags@entry=32, breakpoint=breakpoint@entry=0x555556a7c670)
    at /media/sdd2/qemu-work/exec.c:830
#1 0x00005555558746ac in hw_breakpoint_insert (env=env@entry=0x555556a7be60,
    index=index@entry=0) at /media/sdd2/qemu-work/target-i386/bpt_helper.c:64
#2 0x00005555558748ed in cpu_x86_update_dr7 (env=0x555556a7be60,
    new_dr7=<optimised out>)
    at /media/sdd2/qemu-work/target-i386/bpt_helper.c:160
#3 0x00007fffa17421f6 in code_gen_buffer ()
#4 0x000055555577fcb4 in cpu_tb_exec (itb=<optimised out>,
    itb=<optimised out>, cpu=0x7fff8b7763b0)
    at /media/sdd2/qemu-work/cpu-exec.c:164
It seems that XP sets some breakpoints during it's load, and it leads to frequent TB flushes and slow execution.

Revision history for this message
Maskim Bakulin (ruspartisan) wrote :

Supposedly fixed by commit 406bc339b0505fcfc2ffcbca1f05a3756e338a65

Changed in qemu:
status: New → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.