[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 1
From: |
Gonglei (Arei) |
Subject: |
Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest |
Date: |
Fri, 26 Jul 2013 06:41:06 +0000 |
> -----Original Message-----
> From: Anthony Liguori [mailto:address@hidden
> Sent: Friday, July 26, 2013 11:21 AM
> To: Gonglei (Arei)
> Cc: address@hidden; address@hidden; Hanweidong;
> Luonengjun; Huangweidong (Hardware)
> Subject: Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen
> last 13s or so for windows XP guest
>
> On Thu, Jul 25, 2013 at 10:08 PM, Gonglei (Arei)
> <address@hidden> wrote:
> >> -----Original Message-----
> >> From: Anthony Liguori [mailto:address@hidden
> >> Sent: Friday, July 26, 2013 10:09 AM
> >> To: Gonglei (Arei)
> >> Cc: address@hidden; address@hidden; Hanweidong;
> >> Luonengjun; Huangweidong (Hardware)
> >> Subject: Re: [Qemu-devel] Cirrus VGA slow screen update, show blank
> screen
> >> last 13s or so for windows XP guest
> >>
> >> Windows XP uses VGA planar mode during boot up. This means that to
> >> set a pixel requires 3 MMIO operations (one for the red pixel, one for
> >> the green pixel, one for the blue pixel). KVM has an optimization
> >> called MMIO coalescing which avoids a heavy weight exit for planar
> >> mode exits. I guess Xen doesn't have an optimization like this.
> >>
> >> Regards,
> >>
> >> Anthony Liguori
> >
> > Thanks, Anthony.
> > I tested the Windows XP guest again on KVM and XEN, and I found:
> > 1. Windows XP will show blank screen during boot up as the same as
> > the protocol switch between VNC and RDP.
> > 2. Standard VGA works well, what's difference between cirrus and standard
> VGA for the guest?
>
> Cirrus predates VESA. VESA has a linear framebuffer mode and WinXP
> can use VESA modes (provided that VESA drivers are installed). A
> linear framebuffer mode requires no exits to update individual pixels.
> Instead, there is a timer that fires 30-60 times a second to handle
> any pixels that have been dirtied during that period.
>
> > 3. Why does the traditional qemu has no blank screen problem on cirrus VGA
> emulation ?
>
> This is one of the few cases where TCG is actually faster than KVM or
> Xen. In TCG, an MMIO exit is converted to a function call. OTOH,
> even with KVM, an MMIO exit is at least a couples thousand cycles.
> It's worse with Xen because dom0 has to be scheduled.
Perhaps I did not express clearly what I mean at #3.
I don't understand why the qemu-dm(qemu-0.10.2) works well
but the upstream qemu(begin with qemu-0.14) is not for the
same windows XP guest image in cirrus vga emulation. Does
the cirrus vga emulation have some differences between
qemu-dm and unstream qemu ?
Thank you so much!
-Gonglei
>
> If you search a bit for the V2E project, there was an attempt to
> combine TCG emulation with hardware virtualization specifically to
> handle cases like this. Coalesced MMIO was good enough for KVM though
> that something like V2E wasn't pursued for KVM.
>
> Regards,
>
> Anthony Liguori
>
> > Eagerly looking forward to your reply!
> >
> > -Gonglei
> >
Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Anthony Liguori, 2013/07/25
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gonglei (Arei), 2013/07/25
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Anthony Liguori, 2013/07/25
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest,
Gonglei (Arei) <=
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Andreas Färber, 2013/07/26
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gerd Hoffmann, 2013/07/26
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Andreas Färber, 2013/07/26
- Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gonglei (Arei), 2013/07/27
- Re: [Qemu-devel] [Xen-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Pasi Kärkkäinen, 2013/07/27
- Re: [Qemu-devel] [Xen-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gonglei (Arei), 2013/07/29
- Re: [Qemu-devel] [Xen-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Pasi Kärkkäinen, 2013/07/29
- Re: [Qemu-devel] [Xen-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gonglei (Arei), 2013/07/29
Re: [Qemu-devel] [Xen-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Fabio Fantoni, 2013/07/26
Re: [Qemu-devel] Cirrus VGA slow screen update, show blank screen last 13s or so for windows XP guest, Gonglei (Arei), 2013/07/26