×

Wake-and-go mechanism with prioritization of threads

  • US 8,171,476 B2
  • Filed: 02/01/2008
  • Issued: 05/01/2012
  • Est. Priority Date: 02/01/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method, in a data processing system, for performing a wake-and-go operation, the method comprising:

  • detecting a current thread that is waiting for an event that modifies a data value associated with a target address;

    determining whether there is data associated with a lower priority thread in a hardware private array of the data processing system, wherein the hardware private array cannot be addressed by an operating system or work threads running on a processor, wherein the lower priority thread is a thread having a lower priority than a priority of the current thread;

    in response to a determination that there is a lower priority thread in the hardware private array, removing data associated with the lower priority thread from the hardware private array and a wake-and-go storage array;

    storing thread state information for the current thread in the hardware private array;

    populating the wake-and-go storage array with the target address;

    placing the current thread in a sleep state; and

    responsive to the event that modifies the data value associated with the target address, reloading the thread state information from the hardware private array and placing the current thread in a non-sleep state.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×