Transaction abort processing
First Claim
Patent Images
1. A computer program product for facilitating processing in a computing environment, 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;
initiating, by a processor, execution of an outermost transaction via a transaction begin instruction, the outermost transaction causing the processor to enter transactional execution mode, the transaction begin instruction including a field having a general register save mask, the general register save mask specifying which individually selected registers, if any, are to be saved at a beginning of transactional execution mode and restored on an abort;
aborting, by the processor, execution of a transaction of the transactional execution mode executing within the computing environment, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, the aborting terminating execution of the transaction prior to completion; and
based on aborting execution of the transaction, identifying one or more selected registers to be restored, the one or more selected registers being less than all of the registers used in transactional processing associated with the transaction, and the one or more selected registers being pre-specified by the general register save mask, wherein the general register save mask includes a plurality of bits, each bit corresponding to one or more registers, and wherein a bit of the plurality of bits set to a first value indicates that the one or more registers corresponding to that bit are to be saved during the beginning of transactional execution mode and restored based on the abort of the transaction executing in the transactional execution mode.
1 Assignment
0 Petitions
Accused Products
Abstract
A transaction executing within a computing environment ends prior to completion; i.e., execution is aborted. Pursuant to aborting execution, a hardware transactional execution CPU mode is exited, and one or more of the following is performed: restoring selected registers; committing nontransactional stores on abort; branching to a transaction abort program status word specified location; setting a condition code and/or abort code; and/or preserving diagnostic information.
191 Citations
17 Claims
-
1. A computer program product for facilitating processing in a computing environment, 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; initiating, by a processor, execution of an outermost transaction via a transaction begin instruction, the outermost transaction causing the processor to enter transactional execution mode, the transaction begin instruction including a field having a general register save mask, the general register save mask specifying which individually selected registers, if any, are to be saved at a beginning of transactional execution mode and restored on an abort; aborting, by the processor, execution of a transaction of the transactional execution mode executing within the computing environment, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, the aborting terminating execution of the transaction prior to completion; and based on aborting execution of the transaction, identifying one or more selected registers to be restored, the one or more selected registers being less than all of the registers used in transactional processing associated with the transaction, and the one or more selected registers being pre-specified by the general register save mask, wherein the general register save mask includes a plurality of bits, each bit corresponding to one or more registers, and wherein a bit of the plurality of bits set to a first value indicates that the one or more registers corresponding to that bit are to be saved during the beginning of transactional execution mode and restored based on the abort of the transaction executing in the transactional execution mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system for facilitating processing in a computing environment, said computer system comprising:
-
a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising; initiating, by the processor, execution of an outermost transaction via a transaction begin instruction, the outermost transaction causing the processor to enter transactional execution mode, the transaction begin instruction including a field having a general register save mask, the general register save mask specifying which individually selected registers, if any, are to be saved at a beginning of transactional execution mode and restored on an abort; aborting, by the processor, execution of a transaction of the transactional execution mode executing within the computing environment, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, the aborting terminating execution of the transaction prior to completion; and based on aborting execution of the transaction, identifying one or more selected registers to be restored, the one or more selected registers being less than all of the registers used in transactional processing associated with the transaction, and the one or more selected registers being pre-specified by the general register save mask, wherein the general register save mask includes a plurality of bits, each bit corresponding to one or more registers, and wherein a bit of the plurality of bits set to a first value indicates that the one or more registers corresponding to that bit are to be saved during the beginning of transactional execution mode and restored based on the abort of the transaction executing in the transactional execution mode. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification