US 11,755,362 B2
Techniques for handling escalation of interrupts in a data processing system
Florian Auernhammer, Rueschlikon (CH); and Benjamin Herrenschmidt, Forrest (AU)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Jun. 11, 2021, as Appl. No. 17/345,821.
Prior Publication US 2022/0398125 A1, Dec. 15, 2022
Int. Cl. G06F 9/48 (2006.01)
CPC G06F 9/4818 (2013.01) 18 Claims
OG exemplary drawing
 
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.