Quiesce handling in multithreaded environments
Methods and apparatuses for performing a quiesce operation in a multithread environment is provided. A processor receives a first thread quiesce request from a first thread executing on the processor. A processor sends a first processor quiesce request to a system controller to initiate a quiesce operation. A processor performs one or more operations of the first thread based, at least in part, on receiving a response from the system controller.
1. A method for performing a quiesce operation in a multithread environment, the method comprising:
receiving, by a system controller, a quiesce request from a thread executing on an initiating processor of a plurality of processors in a computing system, wherein the quiesce request comprises a zone quiesce request;
sending, by the system controller, a quiesce interrupt operation to one or more processors of a zone associated with the zone quiesce request;
identifying, by the system controller, that the one or more processors of the zone have reached respective interruptible points of execution for the one or more processors, wherein the one or more processors indicate the respective interruptible points of execution by setting a respective one or more bits corresponding with one or more threads executing on the one or more processors of the zone;
in response to a determination that the one or more processors of the zone have reached respective interruptible points of execution, program instructions to determine, by the system controller, a respective priority for the one or more processors of the zone with pending quiesce requests; and
program instructions to send, by the system controller, one or more commands to a quiesced processor of the one or more processors with pending quiesce requests based on the respective priority for the one or more processors of the zone with pending quiesce requests, wherein the one or more commands instruct the quiesced processor to perform one or more instructions requiring a quiesced state of the zone.
2. The method of claim 1 , wherein the zone quiesce request is for all processors connected to the system controller.
3. The method of claim 1 , wherein the zone quiesce request is for a subset of all processors connected to the system controller.
4. The method of claim 1 , wherein the one or more processors of the zone are quiesced until the quiesced processor performs the one or more instructions requiring a quiesced state of the zone.