Virtual Per-Processor Timers for Multiprocessor Systems
AssigneeMicrosoft Technology Licensing, LLC
InventorsJason Wohlgemuth, Cody Hartwig, Bruce Sherwin, JR.
Life of this patent
Estimating the term…
Abstract
A system provides virtual per-processor timers based on a timer such as a platform timer. To virtualize a timer to be used by each processor independently, a data structure is maintained in memory for the timer. The data structure has an entry for each interrupt to be produced for each processor using the timer, specifying the processor and the due time, with the entries sorted by due time. If the virtualized timer is a platform timer that maintains context during power transitions, a processor can switch to the virtual per-processor timer upon a context-losing power transition.
Claims20
A computer comprising:
- a plurality of processors;
- a timer;
- the computer including computer program instructions that when executed by one of the processors configures the computer such that the timer is virtualized to define, for each processor of the plurality of processors, a virtual per-processor timer for the processor by having data specifying a due time for an interrupt for the processor and the processor to receive the interrupt.
An article of manufacture comprising:
- a computer storage medium;
- computer program instructions stored on the computer storage medium which, when processed by a processor in the computer, the computer having a plurality of processors, configure the computer to be comprising:
- a timer, wherein the timer is virtualized to define, for each processor of the plurality of processors, a virtual per-processor timer for the processor by having data specifying a due time for an interrupt for the processor and the processor to receive the interrupt.
A computer implemented process for a computer having a plurality of processors, and a timer, the process comprising:
- defining a data structure specifying a due time for an interrupt for a processor from the timer and the processor to receive the interrupt, and representing a virtual per-processor timer;
- making the data structure available to the plurality of processors as a virtual per-processor timer;
- the processor arming the virtual per-processor timer by specifying the due time for an interrupt from the timer;
- and
- the timer generating the interrupt at the due time to the processor.
Dependencies are inferred from the claim text.