[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Offline state in scheduling
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |