US2012291034A1PendingUtilityA1

Techniques for executing threads in a computing environment

Individually held — no corporate assignee on recordPriority: May 14, 2011Filed: May 14, 2011Published: Nov 15, 2012
Est. expiryMay 14, 2031(~4.8 yrs left)· nominal 20-yr term from priority
G06F 9/4881G06F 2209/486G06F 9/52
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A technique for executing normally interruptible threads of a process in a non-preemptive manner includes in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal. In response to receiving the wake-up signal, the first thread waits for a global lock. In response to the first thread receiving the global lock, the first thread retrieves the first message from an associated message queue and processes the retrieved first message. In response to completing the processing of the first message, the first thread transmits a second wake-up signal to a second thread whose associated entry is next in the run queue. Finally, following the transmitting of the second wake-up signal, the first thread releases the global lock.

Claims

exact text as granted — not AI-modified
1 - 7 . (canceled) 
     
     
         8 . A data processing system configured to execute normally interruptible threads of a process in a non-preemptive manner, the data processing system comprising:
 a data storage including program code; and   a processor coupled to the data storage, wherein the program code, when executed by the processor, configures the processor for:
 in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal; 
 in response to receiving the wake-up signal, waiting, by the first thread, for a global lock; 
 in response to the first thread receiving the global lock, retrieving, by the first thread, the first message from an associated message queue; 
 processing, by the first thread, the retrieved first message; 
 in response to completing the processing of the first message, transmitting, by the first thread, a second wake-up signal to a second thread whose associated entry is next in the run queue; and 
 releasing, by the first thread, the global lock following the transmitting of the second wake-up signal. 
   
     
     
         9 . The data processing system of  claim 8 , wherein the program code, when executed by the processor, further configures the processor for:
 checking, by the first thread, the associated message queue for a second message for the first thread; and   in response to the associated message queue including the second message, queueing a second entry associated with the second message to an end of the run queue.   
     
     
         10 . The data processing system of  claim 8 , wherein the second thread is a Linux pthread that requires access to a data structure that is shared with the first thread. 
     
     
         11 . The data processing system of  claim 8 , wherein the first wake-up signal is triggered following an event. 
     
     
         12 . The data processing system of  claim 11 , wherein the event corresponds to one of: receipt of a message for the first thread from another thread, arrival of a packet for the first thread, a timer expiration associated with the first thread, and establishment of a link for the first thread. 
     
     
         13 . The data processing system of  claim 8 , wherein one of the first and second threads is a stem pthread and a remaining one of the first and second threads is a Linux pthread that has been serialized. 
     
     
         14 . The data processing system of  claim 8 , wherein the first and second threads are stem pthreads. 
     
     
         15 . A program product including program code, embodied in a data storage, for executing normally interruptible threads of a process in a non-preemptive manner, the program code, when executed by a data processing system, configuring the data processing system for:
 in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal;   in response to receiving the wake-up signal, waiting, by the first thread, for a global lock;   in response to the first thread receiving the global lock, retrieving, by the first thread, the first message from an associated message queue;   processing, by the first thread, the retrieved first message;   in response to completing the processing of the first message, transmitting, by the first thread, a second wake-up signal to a second thread whose associated entry is next in the run queue; and   releasing, by the first thread, the global lock following the transmitting of the second wake-up signal.   
     
     
         16 . The program product of  claim 15 , wherein the program code, when executed by the data processing system, further configures the data processing system for:
 checking, by the first thread, the associated message queue for a second message for the first thread; and   in response to the associated message queue including the second message, queueing a second entry associated with the second message to an end of the run queue.   
     
     
         17 . The program product of  claim 15 , wherein the second thread is a Linux pthread that requires access to a data structure that is shared with the first thread. 
     
     
         18 . The program product of  claim 15 , wherein the first wake-up signal is triggered following an event, and wherein the event corresponds to one of: receipt of a message for the first thread from another thread, arrival of a packet for the first thread, a timer expiration associated with the first thread, and establishment of a link for the first thread. 
     
     
         19 . The program product of  claim 15 , wherein one of the first and second threads is a stem pthread and a remaining one of the first and second threads is a Linux pthread that has been serialized. 
     
     
         20 . The program product of  claim 15 , wherein the first and second threads are stem pthreads.

Join the waitlist — get patent alerts

Track US2012291034A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.