WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: qemu-dm cpu utilization

To: "Anthony Liguori" <aliguori@xxxxxxxxxxxxx>
Subject: [Xen-devel] RE: qemu-dm cpu utilization
From: "McAfee, Tommie M" <Tommie.McAfee@xxxxxxxxxx>
Date: Thu, 31 Aug 2006 13:26:48 -0400
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Anthony Liguori <anthony@xxxxxxxxxxxxx>
Delivery-date: Thu, 31 Aug 2006 10:28:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <5E735516D527134997ABD465886BBDA63A3B6C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <44F4D109.507@xxxxxxxxxxxxx> <5E735516D527134997ABD465886BBDA63A3B81@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <44F5FD81.6000809@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbMd/ae0vLKAGayTa+arDvugNvCkgAqq0k4
Thread-topic: qemu-dm cpu utilization
Anthony,

>You want to set it to NULL after a qemu_del_timer only in the connection
>teardown code.

Setting "ts->timer=NULL" and blocking access to this pointer in qemu_mod_timer 
seemed to resolve the issue.  When I close the vnc window qemu-dm drops to 0%.

Opening and closing  a connection to the guest with vncviewer doesn't seem to 
change the way time is being managed in the virtual machine.

Is this the right fix for this problem?

Signed-off-by: Tommie McAfee <tommie.mcafee@xxxxxxxxxx>

diff -r 8273f730371b tools/ioemu/vl.c
--- a/tools/ioemu/vl.c  Tue Aug 29 12:23:11 2006 +0100
+++ b/tools/ioemu/vl.c  Wed Aug 30 13:03:01 2006 -0400
@@ -731,6 +731,8 @@ void qemu_mod_timer(QEMUTimer *ts, int64
 {
     QEMUTimer **pt, *t;

+   if(!ts)
+       return;
     qemu_del_timer(ts);

     /* add the timer in the sorted list */
diff -r 8273f730371b tools/ioemu/vnc.c
--- a/tools/ioemu/vnc.c Tue Aug 29 12:23:11 2006 +0100
+++ b/tools/ioemu/vnc.c Wed Aug 30 13:03:01 2006 -0400
@@ -626,6 +626,7 @@ static int vnc_client_io_error(VncState
        buffer_reset(&vs->input);
        buffer_reset(&vs->output);
        vs->need_update = 0;
+       vs->timer=NULL;
        return 0;
     }
     return ret;

--------------------------



-----Original Message-----
From: Anthony Liguori [mailto:aliguori@xxxxxxxxxxxxx]
Sent: Wed 8/30/2006 5:05 PM
To: McAfee, Tommie M
Cc: Anthony Liguori; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: qemu-dm cpu utilization
 
McAfee, Tommie M wrote:
> Anthony,
>
>   
>> If you delete the timer (and set vs->timer = NULL) in 
>> vnc_client_io_error(), does it reduce the usage?
>>     
>
> setting vs->timer=NULL causes qemu-dm to segfault

You want to set it to NULL after a qemu_del_timer only in the connection 
teardown code.

> According to strace, the timers account for a lot of qemu-dm's activity.
> Is this polling a bit excessive? 
>   

I don't fully understand the performance of qemu bits in qemu-dm.  
Christian could probably offer a better insight especially since I think 
he changed the normal timers a bit (at least the GUI timer).

When completely idle, qemu normally won't occupy that much CPU (often 
less than a few percent).  I'd expect it to be a little higher with qemu-dm.

Regards,

Anthony Liguori

> Tommie McAfee
> Xen-Testing 
>
>
>
> -----Original Message-----
> From: Anthony Liguori [mailto:anthony@xxxxxxxxxxxxx]
> Sent: Tue 8/29/2006 7:43 PM
> To: McAfee, Tommie M
> Subject: Re: qemu-dm cpu utilization
>  
> McAfee, Tommie M wrote:
>   
>> Using an 8-way ES7000 with 32GB of ram, I'm running xen at changset 11217
>> with dom0_mem=3092M as a kernel parameter on a x86_64 hyperviser.
>>
>> It appears that qemu is adding too much overhead to
>> virtual machines to display graphics.
>> If I boot a sles9sp3 domVT in runlevel 5 with vga=0x314 for a graphicalboot, 
>> and immediately use
>> vncviewer simply to watch the virtual machine as it boots,
>> qemu-dm consumes 40% cpu as soon as vncviewer is launched and remains that 
>> way throughout this entire process  without settling down when the login 
>> screen appears.
>> Even If I close the console that's viewing the virtual host,  qemu-dm 
>> remains at 40-44%.
>>     
>
> Almost everything in the VNC code resets when a guest disconnected 
> except for the timer.  If a client disconnects, the timer routine should 
> be almost a nop but it's possible that it's somehow causing qemu-dm to 
> do something funky.
>
> If you delete the timer (and set vs->timer = NULL) in 
> vnc_client_io_error(), does it reduce the usage?
>
> BTW, if you're using 800x600, I suspect that you may be falling back to 
> MMIO instead of a linear framebuffer.  Try moving to 1024x768 and see if 
> that helps.
>
> Regards,
>
> Anthony Liguori
>
>   
>> When booting the same domVT in runlevel 5 without ever attempting to connect 
>> to it with
>> vncviewer, qemu-dm fluctuated from 1-3% while the host was booting and then 
>> settled to 0.2% after 4-5 mins.  Assuming that the boot process was 
>> complete, I launched vncviewer and qemu-dm jumped up to a 40-44% range again.
>>
>> Lastly I started the same host in runlevel 3 in pure text mode without any
>> vga parameters on the kernel line, connected to the virtual machine with
>> vncviewer, and watched the machine boot until a login prompt appeared.  At
>> this point, top showed qemu-dm as using 0% of the cpu.  Logging into the
>> virtual machine and running 'startx' however sent qemu-dm back up to a 40-
>> 44% range.
>>
>> Why is qemu-dm consuming so much of the cpu?  Why is qemu-dm still high
>> even when I close my vncviewer?
>>
>> Tommie,
>> Xen Test Team
>> Unisys 
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>>     
>
>   



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>