1. A method of handling interrupts in a data processing system, the method comprising: maintaining, at an interrupt presentation controller (IPC), an interrupt acknowledge count (IAC), wherein the IAC provides an indication of a number of times a specific virtual processor thread implemented at a first software stack level has been interrupted in response to receipt of event notification messages (ENMs) from an interrupt source controller (ISC), and wherein the ENMs specify a level, an event target number, and a number of bits to ignore; determining a group of virtual processor threads that may be potentially interrupted based on the event target number, the number of bits to ignore, and a process identifier (ID) when the level specified in the ENMs corresponds to a user level, wherein the event target number identifies the specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted; and in response to the IAC reaching a threshold level, transmitting, by the IPC, an escalate message to the ISC, wherein the escalate message includes an escalate event number that is used by the ISC to generate a new ENM that targets a second software stack level that is different than the first software stack level and is associated with another virtual processor thread.