Method And Apparatus To Enable Runtime Processor Migration With Operating System Assistance
First Claim
1. A method for switching to a spare processor during runtime, the method comprising:
- determining that execution should be migrated off of an active processor in a processing system;
after determining that execution should be migrated off of the active processor, pausing an operating system (OS) scheduler in the processing system, pausing at least one device in the processing system, and putting the active processor into an idle state;
saving state data from writable and substantial non-writable stores in the active processor, to a store outside of the active processor,starting a spare processor in the processing system;
loading the state data saved from the writeable store of the active processor to the spare processor;
loading the state data saved from the substantially non-writeable store of active processor to the spare processor;
reprogramming interrupt routing table logic for the processing system to direct external interrupts to the spare processor;
off-lining the active processor;
resuming the device; and
resuming the OS scheduler.
2 Assignments
0 Petitions
Accused Products
Abstract
In a method for switching to a spare processor during runtime, a processing system determines that execution should be migrated off of an active processor. An operating system (OS) scheduler and at least one device are then paused, and the active processor is put into an idle state. State data from writable and substantial non-writable stores in the active processor is loaded into the spare processor. Interrupt routing table logic for the processing system is dynamically reprogrammed to direct external interrupts to the spare processor. The active processor may then be off-lined, and the device and OS scheduler may be unpaused or resumed. Threads may then be dispatched to the spare processor for execution. Other embodiments are described and claimed.
32 Citations
20 Claims
-
1. A method for switching to a spare processor during runtime, the method comprising:
-
determining that execution should be migrated off of an active processor in a processing system; after determining that execution should be migrated off of the active processor, pausing an operating system (OS) scheduler in the processing system, pausing at least one device in the processing system, and putting the active processor into an idle state; saving state data from writable and substantial non-writable stores in the active processor, to a store outside of the active processor, starting a spare processor in the processing system; loading the state data saved from the writeable store of the active processor to the spare processor; loading the state data saved from the substantially non-writeable store of active processor to the spare processor; reprogramming interrupt routing table logic for the processing system to direct external interrupts to the spare processor; off-lining the active processor; resuming the device; and resuming the OS scheduler. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A processing system that can switch to a spare processor during runtime, the processing system comprising:
-
a first processor to serve as an active processor operable to execute an operating system (OS); a second processor to serve as a spare processor; at least one device; data storage; one or more communication pathways in communication with the first processor, the second processor, the device, and the data storage; control logic stored at least partial in the data storage, the control logic operable to perform operations comprising; determining that execution should be migrated off of the active processor; after determining that execution should be migrated off of the active processor, pausing a scheduler in the OS, pausing the device, and putting the active processor into an idle state; saving state data from writable and substantial non-writable stores in the active processor, to a store outside of the active processor; starting the spare processor, loading the state data saved from the writeable store of the active processor to the spare processor; loading the state data saved from the substantially non-writeable store of active processor to the spare processor; reprogramming interrupt routing table logic for the processing system to direct external interrupts to the spare processor; off-lining the active processor; unpausing the device; and unpausing the OS scheduler. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An apparatus, comprising:
-
a machine-accessible medium; and instructions in the machine-accessible medium, wherein the instructions, when executed by a processing system having an active processor and a spare processor, cause the processing system to perform operations comprising; determining that execution should be migrated off of the active processor; after determining that execution should be migrated off of the active processor, pausing an operating system (OS) scheduler in the processing system, pausing at least one device in the processing system, and putting the active processor into an idle state; saving state data from writable and substantially non-writable stores in the active processor, to a store outside of the active processor; starting the spare processor; loading the state data saved from the writeable store of the active processor to the spare processor; loading the state data saved from the substantially non-writeable store of active processor to the spare processor; reprogramming interrupt routing table logic for the processing system to direct external interrupts to the spare processor; off-lining the active processor; resuming the device; resuming the OS scheduler; and dispatching threads to the spare processor for execution. - View Dependent Claims (17, 18, 19, 20)
-
Specification