CPC G06F 9/4818 (2013.01) | 18 Claims |
1. A method of handling interrupt escalation in a data processing system including a processor core that executes virtual processor threads on one or more physical threads of the processor core, the method comprising:
receiving, at an interrupt presentation controller (IPC), an event notification message requesting an interrupt, specifying an interrupt priority, and referencing a virtual processor (VP) thread;
determining, by the IPC, whether the VP thread referenced in the event notification message matches any interruptible VP thread then available to be interrupted;
based on determining that the VP thread referenced in the event notification message does not match any interruptible VP thread, the IPC conditionally escalating the interrupt requested by the event notification message, wherein the conditionally escalating includes:
the IPC determining whether or not the interrupt priority is greater than the operating priority of any interruptible VP thread;
based on determining the interrupt priority is greater than the operating priority of said any interruptible VP thread, the IPC initiating escalation of the interrupt requested by the event notification message to a next higher software stack level by issuing an escalate message; and
based on determining the interrupt priority is not greater than the operating priority of said any interruptible VP thread, the IPC refraining from escalating the interrupt requested by the event notification message.
|