Fair scalable reader-writer mutual exclusion
First Claim
1. A method of implementing fair scalable reader writer mutual exclusion for access to a critical section by a plurality of processing threads in a processing system comprising:
- creating a first queue node for a first thread on the first thread'"'"'s stack, the queue node representing a request by the first thread to access the critical section;
adding the first queue node to a queue pointed to by a single word reader writer mutex for the critical section, the queue representing a list of threads desiring access to the critical section, each queue node in the queue being on a stack of a thread of the plurality of processing threads;
waiting until the first queue node has no preceding write requests as indicated by predecessor queue nodes on the queue;
entering the critical section by the first thread;
exiting the critical section by the first thread; and
removing the first queue node from the queue.
1 Assignment
0 Petitions
Accused Products
Abstract
Implementing fair scalable reader writer mutual exclusion for access to a critical section by a plurality of processing threads in a processing system is accomplished by creating a first queue node for a first thread on the first thread'"'"'s stack, the queue node representing a request by the first thread to access the critical section; adding the first queue node to a queue pointed to by a single word reader writer mutex for the critical section, the queue representing a list of threads desiring access to the critical section, each queue node in the queue being on a stack of a thread of the plurality of processing threads; waiting until the first queue node has no preceding write requests as indicated by predecessor queue nodes on the queue; entering the critical section by the first thread; exiting the critical section by the first thread; and removing the first queue node from the queue.
79 Citations
27 Claims
-
1. A method of implementing fair scalable reader writer mutual
exclusion for access to a critical section by a plurality of processing threads in a processing system comprising: -
creating a first queue node for a first thread on the first thread'"'"'s stack, the queue node representing a request by the first thread to access the critical section;
adding the first queue node to a queue pointed to by a single word reader writer mutex for the critical section, the queue representing a list of threads desiring access to the critical section, each queue node in the queue being on a stack of a thread of the plurality of processing threads;
waiting until the first queue node has no preceding write requests as indicated by predecessor queue nodes on the queue;
entering the critical section by the first thread;
exiting the critical section by the first thread; and
removing the first queue node from the queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An article comprising:
- a machine accessible medium containing instructions, which when executed, result in implementing fair scalable reader writer mutual exclusion for access to a critical section by a plurality of processing threads in a processing system by
creating a first queue node for a first thread on the first thread'"'"'s stack, the queue node representing a request by the first thread to access the critical section;
adding the first queue node to a queue pointed to by a single word reader writer mutex for the critical section, the queue representing a list of threads desiring access to the critical section, each queue node in the queue being on a stack of a thread of the plurality of processing threads;
waiting until the first queue node has no preceding write requests as indicated by predecessor queue nodes on the queue;
entering the critical section by the first thread;
exiting the critical section by the first thread; and
removing the first queue node from the queue. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- a machine accessible medium containing instructions, which when executed, result in implementing fair scalable reader writer mutual exclusion for access to a critical section by a plurality of processing threads in a processing system by
-
19. A system for controlling access to a critical section of memory in a multithreaded processing system comprising:
-
a plurality of processing threads, each thread having a stack; and
a single word reader writer mutex pointing to a queue representing a list of threads desiring access to the critical section;
wherein a first thread of the plurality of threads creates a first queue node on the first thread'"'"'s stack, the queue node representing a request by the first thread to access the critical section;
adds the first queue node to the queue;
waits until the first queue node has no preceding write requests as indicated by predecessor queue nodes on the queue;
enters the critical section;
exits the critical section; and
removes the first queue node from the queue. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification