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

Re: Re: [Xen-devel] Offline state in scheduling


  • To: "George Dunlap" <George.Dunlap@xxxxxxxxxxxxx>
  • From: "Yuyang Du" <duyuyang@xxxxxxxxx>
  • Date: Tue, 29 Jun 2010 19:42:28 +0800
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 29 Jun 2010 04:44:53 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:reply-to:to:cc:references:subject:message-id:x-mailer :mime-version:content-type:content-transfer-encoding; b=wbQz2mj5X/w6/QW5eKHDWd0QwLYDyVgTXkg7jR3BCsutCsucCjyuz99adPxzfnc8zM Em61ZGF/QKELJBUxvyd9OCySz/zfMah3ZntZQanAu+3TGfyqULPEeplE8zsscVwcRNmG HTI6mYwmEbBFJoZHnngCyOYXq/2Z0kvDWhPoM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Thanks.

Is it right to say the time HVM waits for I/O equals the offline time (given no 
administrator pauses)? 
I am testing apache web server in a HVM, and I find that vcpu blocking state 
makes up a large portion. Since the HVM can not issue SCHED_block hypercalls, 
so the blocking state means the VM is not cpu intensive and often executes HLT 
to halt itself?

Regards,
Shawn 

>On Mon, Jun 28, 2010 at 4:59 AM, Yuyang Du <duyuyang@xxxxxxxxx> wrote:
>> Hi,
>>
>> By xentrace, I saw there are many offline states in VCPU scheduling, more in 
>> HVMs than PV kernels. The comments say that offline means the VCPU is not 
>> runnable but not blocked (like hotplug and pauses by the system 
>> administrator or for critical sections in the hypervisor).
>>
>> Can anyone explain it to me what are the circumstances except for hotplug 
>> and pauses by the system administrator? And what are the critical sections 
>> in the hypervisor?
>
>Essentially, offline means "Not runnable for any reason other than the
>guest voluntarily blocking" (either with the SCHED_block hypercall or
>executing the HLT instruction).
>
>The main reason for HVM vcpus going offline is to do QEMU-related I/O:
>the guest vcpu executes the PIO or MMIO instruction, it traps to Xen,
>Xen decides to pass it on to QEMU.  So it pauses the vcpu, and sends
>info about the instruction to QEMU.  QEMU in dom0 wakes up, handles
>the event, and completes the I/O, making the vcpu runnable again.
>When the vcpu runs again, Xen moves the IP forward and does whatever
>is appropriate to the registers (e.g., fills them with the value of
>the read supplied by QEMU).
>
>If you use xenalyze (http://xenbits.xensource.com/ext/xenalyze.hg), it
>will give you a break-down of exactly how much time is spent per vcpu
>in running, runnable, blocked, and offline states.  It will also tell
>you how much time is spent handling MMIO and PIO per vcpu.  The time
>spent in offline state for HVM domains should closely correlate to the
>time offline.
>
> -George


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.