Managing Sequenced Lock Requests
First Claim
1. A method comprising:
- determining if a sequence number of a first thread matches a current sequence number of a lock, and if said sequence number of said first thread does not match said current sequence number of said lock, said method further comprising;
placing said first thread into a wait queue;
receiving, by said first thread, a notification of an updated current sequence number;
determining if said sequence number of said first thread matches said updated current sequence number;
acquiring said lock if said sequence number of said first thread matches said updated current sequence number; and
remaining in said wait queue if said updated current sequence number does not match said sequence number of said first thread.
1 Assignment
0 Petitions
Accused Products
Abstract
A method according to one embodiment may include determining if a sequence number of a first thread matches a current sequence number of a lock. If the sequence number of the first thread does not match the current sequence number, the method further includes placing the first thread into a wait queue; receiving a notification of an updated current sequence number by the first thread; determining if the sequence number of the first thread matches the updated current sequence number; acquiring the lock if the sequence number of the first thread matches the updated current sequence number; and remaining in the wait queue if the updated current sequence number does not match the sequence number of the first thread. Of course, many alternatives, variations, and modifications are possible without departing from this embodiment.
29 Citations
21 Claims
-
1. A method comprising:
determining if a sequence number of a first thread matches a current sequence number of a lock, and if said sequence number of said first thread does not match said current sequence number of said lock, said method further comprising; placing said first thread into a wait queue; receiving, by said first thread, a notification of an updated current sequence number; determining if said sequence number of said first thread matches said updated current sequence number; acquiring said lock if said sequence number of said first thread matches said updated current sequence number; and remaining in said wait queue if said updated current sequence number does not match said sequence number of said first thread. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. An article comprising a storage medium having stored thereon instructions that when executed by a machine result in the following:
determining if a sequence number of a first thread matches a current sequence number of a lock, and if said sequence number of said first thread does not match said current sequence number, said instructions further resulting in; placing said first thread into a wait queue; receiving, said first thread, a notification of an updated current sequence number; determining if said sequence number of said first thread matches said updated current sequence number; acquiring said lock if said sequence number of said first thread matches said updated current sequence number; and remaining in said wait queue if said updated current sequence number does not match said sequence number of said first thread. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A network device comprising:
-
a switch fabric; and multiple blades coupled to the switch fabric, at least one of the blades comprising an integrated circuit (IC) configured to execute instructions using a plurality of threads, said IC is further configured to; determine if a sequence number of a first thread matches a current sequence number of a lock, and if said sequence number of said first thread does not match said current sequence number, said IC is further configured to; place said first thread into a wait queue; receive a notification of an updated current sequence number; determine if said sequence number of said first thread matches said updated current sequence number; acquire said lock if said sequence number of said first thread matches said updated current sequence number; and remain in said wait queue if said updated current sequence number does not match said sequence number of said first thread. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification