Claims
- 1. A lock free list comprising:
- 2. The lock free list of claim 1 wherein the first means for tracking further comprises a FIFO queue.
- 3. The lock free list of claim 2 wherein the FIFO queue further comprises a master write pointer, a master read pointer and an array.
- 4. The lock free list of claim 1 wherein the second means for tracking further comprises a write pointer into each of the at least two sublists.
- 5. The lock free list of claim 4 wherein the write pointer is incremented using an XADD instruction.
- 6. The lock free list of claim 1 wherein the third means for tracking further comprises a read pointer into each of the at least two sublists.
- 7. The lock free list of claim 6 wherein the read pointer is incremented using an XADD instruction.
- 8. The lock free list of claim 6 wherein the elements are read using an XCHG instruction.
- 9. The lock free list of claim 1 wherein the third means for tracking further comprises exchanging an invalid value into each sublist location from which list elements are read using an XCHG instruction.
- 10. A lock free list comprising:
- 11. The lock free list of claim 10 wherein the FIFO queue further comprises a master write pointer, a master read pointer and an array.
- 12. The lock free list of claim 10 wherein the write pointer is incremented using an XADD instruction.
- 13. The lock free list of claim 10 wherein the read pointer is incremented using an XADD instruction.
- 14. The lock free list of claim 10 wherein the elements are read using an XCHG instruction.
- 15. A lock free list for use in a computer system comprising:
- 16. A computer readable medium containing computer readable program code comprising:
- 17. A FIFO queue comprising:
- 18. A computer system comprising:
- 19. A method for generating a lock free list comprising:
- 20. The method of claim 19 wherein the first means for tracking further comprises a FIFO queue.
- 21. The method of claim 20 wherein the FIFO queue further comprises a master write pointer, a master read pointer and an array.
- 22. The method of claim 19 wherein the second means for tracking further comprises a write pointer into each of the at least two sublists.
- 23. The method of claim 22 wherein the write pointer is incremented using an XADD instruction.
- 24. The method of claim 19 wherein the third means for tracking further comprises a read pointer into each of the at least two sublists.
- 25. The method of claim 24 wherein the read pointer is incremented using an XADD instruction.
- 26. The method of claim 24 wherein the elements are read using an XCHG instruction.
- 27. The method of claim 19 wherein the third means for tracking further comprises exchanging an invalid value into each sublist location from which list elements are read using an XCHG instruction.
Cross Reference to Related Applications
[0001] The present application claims priority from U.S. Provisional Patent Application Ser. No. 60/168,861, filed on December 2, 1999 by Herbert W. Sullivan and Clifford L. Hersh, the specification of which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/168861 |
Dec 1999 |
US |