Tracking transactional execution footprint
First Claim
1. A system for tracking a transactional execution footprint, the system comprising:
- a processing circuit configured to perform a method comprising;
receiving a store instruction, the store instruction including store data;
setting a write enable flag based on receiving the store instruction;
determining that the store instruction is executing within a transaction wherein the transaction effectively delays committing stores to a shared cache until completion of the transaction;
buffering the store data in a local storage buffer;
storing the store data to a cache line in a local cache and marking the cache line as dirty based on determining that the transaction is active and the write enable flag is set;
invalidating stored data marked as dirty in the local cache based on determining that the transaction has terminated abnormally;
tracking in the local storage buffer that the transaction has terminated abnormally;
disabling the write enable flag for the store data based on determining that the transaction has terminated abnormally;
preventing the store data from being transmitted to the local cache based on determining that the write enable flag is disabled;
preventing a pending indicator associated with the store data to mark the cache line as dirty from being set based on the write enable flag being disabled; and
un-marking stored data based on determining that the transaction has successfully ended.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments relate to tracking a transactional execution footprint. An aspect includes receiving a store instruction which includes store data. It is determined if the store instruction is executing within a transaction that effectively delays committing stores to a shared cache until the transaction has completed. The store data is stored to a cache line in a local cache. The cache line is marked as dirty if the transaction is active. The stored data that was marked as dirty in the local cache is invalidated if the transaction has terminated abnormally. The stored data is un-marked if it is determined that the transaction has successfully ended.
55 Citations
16 Claims
-
1. A system for tracking a transactional execution footprint, the system comprising:
a processing circuit configured to perform a method comprising; receiving a store instruction, the store instruction including store data; setting a write enable flag based on receiving the store instruction; determining that the store instruction is executing within a transaction wherein the transaction effectively delays committing stores to a shared cache until completion of the transaction; buffering the store data in a local storage buffer; storing the store data to a cache line in a local cache and marking the cache line as dirty based on determining that the transaction is active and the write enable flag is set; invalidating stored data marked as dirty in the local cache based on determining that the transaction has terminated abnormally; tracking in the local storage buffer that the transaction has terminated abnormally; disabling the write enable flag for the store data based on determining that the transaction has terminated abnormally; preventing the store data from being transmitted to the local cache based on determining that the write enable flag is disabled; preventing a pending indicator associated with the store data to mark the cache line as dirty from being set based on the write enable flag being disabled; and un-marking stored data based on determining that the transaction has successfully ended. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method for tracking a transactional execution footprint comprising:
-
receiving, by a processing circuit, a store instruction, the store instruction including store data; setting a write enable flag based on receiving the store instruction; determining that the store instruction is executing within a transaction wherein the transaction effectively delays committing stores to a shared cache until completion of the transaction; buffering the store data in a local storage buffer; storing the store data to a cache line in a local cache and marking the cache line as dirty based on determining that the transaction is active and the write enable flag is set; invalidating stored data marked as dirty in the local cache based on determining that the transaction has terminated abnormally; tracking in the local storage buffer that the transaction has terminated abnormally; disabling the write enable flag for the store data based on determining that the transaction has terminated abnormally; preventing the store data from being transmitted to the local cache based on determining that the write enable flag is disabled; preventing a pending indicator associated with the store data to mark the cache line as dirty from being set based on the write enable flag being disabled; and un-marking stored data based on determining that the transaction has successfully ended. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for tracking a transactional execution footprint said computer program product comprising:
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; receiving, by a processing circuit, a store instruction, the store instruction including store data; setting a write enable flag based on receiving the store instruction; determining that the store instruction is executing within a transaction wherein the transaction effectively delays committing stores to a shared cache until completion of the transaction; buffering the store data in a local storage buffer; storing the store data to a cache line in a local cache and marking the cache line as dirty based on determining that the transaction is active and the write enable flag is set; tracking in the local storage buffer that the transaction has terminated abnormally; disabling the write enable flag for the store data based on determining that the transaction has terminated abnormally; preventing the store data from being transmitted to the local cache based on determining that the write enable flag is disabled; preventing a pending indicator associated with the store data to mark the cache line as dirty from being set based on the write enable flag being disabled; and invalidating stored data marked as dirty in the local cache based on determining that the transaction has terminated abnormally. - View Dependent Claims (14, 15, 16)
Specification