| US 7,478,210 B2 | ||
| Memory reclamation with optimistic concurrency | ||
| Bratin Saha, San Jose, Calif. (US); Richard L. Hudson, Florence, Mass. (US); and Ali-Reza Adl-tabatabai, Santa Clara, Calif. (US) | ||
| Assigned to Intel Corporation, Santa Clara, Calif. (US) | ||
| Filed on Jun. 09, 2006, as Appl. No. 11/450,616. | ||
| Prior Publication US 2007/0288708 A1, Dec. 13, 2007 | ||
| Int. Cl. G06F 12/12 (2006.01) | ||
| U.S. Cl. 711—159 [711/160; 707/206] | 19 Claims |

| 1. A method comprising:
starting a transaction of a processing thread;
allocating a memory object to the transaction in a software transactional memory;
storing an epoch value for the start of the transaction in a thread local storage associated with the transaction;
comparing the stored epoch value with stored epoch values associated with other transactions to determine whether the stored
epoch value is earlier than the stored epoch values associated the other transactions;
tentatively freeing the allocated memory object in the software transactional memory based on the comparison, the tentative
freeing restricting objects started after the object is tentatively freed from having any pointers into the object, the object
having pointers into it from at least one transaction;
detecting when all transactions that are outstanding at the time an object is tentatively freed have ended; and
actually freeing the object based on the detection.
|