Virtual Processor States

Conceptually, a virtual processor is in one of the following states:

Running

The virtual processor actively consumes the processor cycles of a logical processor.

Ready

The virtual processor is ready to run. However, the virtual processor is not actively running because other virtual processors are currently running.

Waiting

The virtual processor is in a state that is defined by the processor architecture. This state does not involve the active execution of instructions. For example, for the x64 architecture, at a HLT instruction, within "waiting for SIPI" state, or if the scheduler has capped the virtual processor.

Suspended

The virtual processor is stopped on a guest instruction boundary by either being explicitly suspended or implicitly suspended due to an intercept.

A suspended virtual processor consumes no processor cycles. A virtual processor is suspended when any of the following items are true:

  • The virtual processor is explicitly suspended.

  • The virtual processor is implicitly suspended because of an intercept.

Both suspension reasons must be cleared before a virtual processor becomes active. They can be set or cleared by using HvSetVpRegisters.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.