All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yuyang Du" <duyuyang@gmail.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: Re: Offline state in scheduling
Date: Tue, 29 Jun 2010 19:42:28 +0800	[thread overview]
Message-ID: <201006291942243126656@gmail.com> (raw)
In-Reply-To: 201006281159133905493@gmail.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@gmail.com> 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

  parent reply	other threads:[~2010-06-29 11:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-28  3:59 Offline state in scheduling Yuyang Du
2010-06-28  9:46 ` George Dunlap
2010-06-29 11:42 ` Yuyang Du [this message]
2010-06-29 12:50   ` George Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201006291942243126656@gmail.com \
    --to=duyuyang@gmail.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.