Periodic Timer Assist

The parent partition can enable a periodic timer that is to be applied to a child partition. A period defines the rate of the interrupts, and a local APIC destination specifies which virtual processors are to be interrupted. The local APIC destination is typically defined by the I/O APIC redirection entry that is associated with the assisted timer source. The parent partition establishes the period by programming the periodic timer assist. By using this timer assist, the parent partition will improve interrupt delivery and interrupt accuracy.

The parent partition manages the periodic timer assist by using the HvPartitionPropertyEmulatedTimerPeriod and HvPartitionPropertyEmulatedTimerControl partition properties from the HV_PARTITION_PROPERTY_CODE enumeration. The default value for both of these properties is all zeros.

The timer period property specifies the time in 100 nanosecond units. The hypervisor uses a HV_EMULATED_TIMER_PERIOD union to define the timer period property.

The local APIC destination is encoded in the timer control. The hypervisor uses a HV_EMULATED_TIMER_CONTROL union to define the timer control.

The defined (named) fields of the Periodic Timer Control conform to those fields that are used by the local APIC's Interrupt Command Register (ICR). When the timer period property is set to zero, the timer control Enabled flag (from the HV_EMULATED_TIMER_CONTROL union) will be cleared, which disables the timer assist.

Typically, the HvPartitionPropertyEmulatedTimerPeriod property is set, and then the HvPartitionPropertyEmulatedTimerControl property is updated to enable the assist. If those operations are performed in the reverse order, the pending timer with the old timer period will be removed, and a new timer with the new period inserted. Likewise, if the values in the HvPartitionPropertyEmulatedTimerControl property are changed without disabling the timer, the new values take effect immediately.

The periodic timer assist acts in the same way as the non-lazy periodic timer that is described in Periodic Timers. That is, the periodic timer assist will try to "catch up" if timer ticks are missed.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.