Hint instruction for managing transactional aborts in transactional memory computing environments
First Claim
1. A method for processing transactions in a computing environment with transactional memory, the method comprising:
- executing, by a processor, a transaction-hint instruction associated with a first transaction, the transaction-hint instruction specifying a transaction-count-to-completion (CTC) value, the CTC value indicating how far the first transaction is from completion;
adjusting, by the processor, the CTC value based on progress of the first transaction;
identifying, by the processor, a disruptive event while processing the first transaction, the disruptive event associated with inducing transactional aborts;
determining, by the processor, whether the adjusted CTC value satisfies deferral criteria; and
aborting, based on determining that the adjusted CTC value does not satisfy the deferral criteria, processing of the first transaction.
1 Assignment
0 Petitions
Accused Products
Abstract
When executed, a transaction-hint instruction specifies a transaction-count-to-completion (CTC) value for a transaction. The CTC value indicates how far a transaction is from completion. The CTC may be a number of instructions to completion or an amount of time to completion. The CTC value is adjusted as the transaction progresses. When a disruptive event associated with inducing transactional aborts, such as an interrupt or a conflicting memory access, is identified while processing the transaction, processing of the disruptive event is deferred if the adjusted CTC value satisfies deferral criteria. If the adjusted CTC value does not satisfy deferral criteria, the transaction is aborted and the disruptive event is processed.
-
Citations
20 Claims
-
1. A method for processing transactions in a computing environment with transactional memory, the method comprising:
-
executing, by a processor, a transaction-hint instruction associated with a first transaction, the transaction-hint instruction specifying a transaction-count-to-completion (CTC) value, the CTC value indicating how far the first transaction is from completion; adjusting, by the processor, the CTC value based on progress of the first transaction; identifying, by the processor, a disruptive event while processing the first transaction, the disruptive event associated with inducing transactional aborts; determining, by the processor, whether the adjusted CTC value satisfies deferral criteria; and aborting, based on determining that the adjusted CTC value does not satisfy the deferral criteria, processing of the first transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for processing transactions in a computing environment with transactional memory, the method comprising:
-
executing, by a processor, a transaction-hint instruction associated with a first transaction, the transaction-hint instruction specifying an initial transaction-count-to-completion (CTC) value, the initial CTC value indicating a number of instructions in the first transaction, wherein executing the transaction-hint instruction causes the processor to store the initial CTC value in an internal register; adjusting, in response to an instruction in the first transaction completing after the execution of the transaction-hint instruction, the CTC value in the register; identifying, by the processor, a disruptive event while processing the first transaction, the disruptive event associated with inducing transactional aborts; determining, by the processor, whether the adjusted CTC value satisfies deferral criteria and aborting, based on determining that the adjusted CTC value does not satisfy the deferral criteria, processing of the first transaction.
-
-
20. A method for processing transactions in a computing environment with transactional memory, the method comprising:
-
executing, by a processor, a transaction-hint instruction associated with a first transaction, the transaction-hint instruction specifying an initial transaction-count-to-completion (CTC) value, wherein executing the transaction-hint instruction causes the processor to store the initial CTC value in an internal register; adjusting, after executing the transaction-hint instruction, the CTC value in the register based on progress of the first transaction, wherein the CTC value is adjusted periodically during processing of the first transaction; identifying a disruptive event while processing the first transaction, the disruptive event being associated with inducing transactional aborts; determining whether the adjusted CTC value satisfies deferral criteria; and aborting, based on determining that the adjusted CTC value does not satisfy the deferral criteria, processing of the first transaction.
-
Specification