Skip to content
This repository has been archived by the owner on May 21, 2020. It is now read-only.

Loose ends... #5

Open
4 of 8 tasks
Fish-Git opened this issue Jan 17, 2020 · 5 comments
Open
4 of 8 tasks

Loose ends... #5

Fish-Git opened this issue Jan 17, 2020 · 5 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@Fish-Git
Copy link
Member

Fish-Git commented Jan 17, 2020

The following is the "TODO" list for this project (i.e. things we still haven't done yet).

Feel free to add additional items I may have missed.
 

  • 'txf' tracing     (see comment further below)

  • #define DEBUG tracing (TRACE macro)

  • PTT tracing

  • Constrained transactions constraint: 2. "All instructions in the transaction must be within 256 contiguous bytes of storage, including the TRANSACTION BEGIN (TBEGINC) and any TRANSACTION END instructions."   (page 5-107)

  • Constrained transactions constraint: 4. "The transaction’s storage operands access no more than four octowords. Note: LOAD ON CONDITION and STORE ON CONDITION are considered to reference storage regardless of the condition code."   (page 5-109)

  • Constrained transactions constraint: 5. "The transaction executing on this CPU, or stores by other CPUs or the channel subsystem, do not access storage operands in any 4 K-byte blocks that contain the 256 bytes of storage beginning with the TRANSACTION BEGIN (TBEGINC) instruction."   (page 5-109)

  • Constrained transactions constraint: 7. "Operand references made by each instruction in the transaction must be within a single double-word, except that for LOAD ACCESS MULTIPLE, LOAD MULTIPLE, LOAD MULTIPLE HIGH, STORE ACCESS MULTIPLE, STORE MULTIPLE, and STORE MULTIPLE HIGH, operand references must be within a single octoword."   (page 5-109)

  • PER! (as it relates to TXF)   (pages 4-26++, 5-89++, and ???)

 
Note that #​4 and #​7 seem to contradict one another! One says four octowords (4x32=128 bytes) whereas the other says a single double-word (8 bytes)!  (Unless #​4 means four octowords in total?)

@Fish-Git Fish-Git added help wanted Extra attention is needed question Further information is requested labels Jan 17, 2020
@ivan-w ivan-w self-assigned this Jan 19, 2020
@ivan-w
Copy link
Member

ivan-w commented Jan 19, 2020

I really need to get -12 version!

@ivan-w
Copy link
Member

ivan-w commented Jan 19, 2020

These are not lose ends, this the heart of the problem that needs to be solved!

@Fish-Git
Copy link
Member Author

Fish-Git commented Jan 19, 2020

I really need to get -12 version!

@Fish-Git Fish-Git removed the question Further information is requested label Jan 26, 2020
Fish-Git added a commit that referenced this issue Feb 21, 2020
   "All instructions in the transaction must be within
    256 contiguous bytes of storage, including the
    TRANSACTION BEGIN (TBEGINC) and any TRANSACTION END
    instructions."

(page 5-107)

Closes one of TXF issue 5's items (#5)
@Fish-Git
Copy link
Member Author

FYI: commit c12a2a6 implements constrained transactions constraint #​2.

Updated TXFT006 test attached:

All 9 of the stand-alone versions of Ivan's original "TXFTnnn" tests now pass with flying colors.

I've begun work on trying to write a new test that actually verifies that the successful/unsuccessful completion of a transaction is indeed correct/accurate. I also need to add some code to the TXFTnnn tests to validate the accuracy/correctness of the TDB we're building too. That's something none of our existing tests are doing yet.

Thanks.


(p.s. Don't any of the rest of you be shy about writing your own tests either! The more comprehensive of a set of tests that we have, the better! TXF needs to be 100% solid before we can release it!)

@Fish-Git
Copy link
Member Author

Fish-Git commented Mar 4, 2020

FYI: commit 4606e6a implements transactional tracing of either a transaction's instructions or just the progress/results of a transaction, or both, via the newly implemented txf command:

HHC01603I help txf
HHC01603I
HHC01602I Command               Description
HHC01602I ----------------      -------------------------------------------------------
HHC01602I txf                  *Transactional-Execution Facility tracing
HHC01603I
HHC01603I Format:
HHC01603I
HHC01603I    txf  [0 | [INSTR] [U] [C] [GOOD] [BAD] [TDB] [PAGES|LINES] ]
HHC01603I
HHC01603I Where:
HHC01603I
HHC01603I    0       Disables all txf tracing.
HHC01603I
HHC01603I    INSTR   Enables instruction tracing of ONLY transactions.
HHC01603I            Either 'U' or 'C' or both must also be specified.
HHC01603I            Default is both. Use 't+' to activate the tracing.
HHC01603I
HHC01603I    U       Enables tracing of unconstrained transactions.
HHC01603I    C       Enables tracing of constrained transactions.
HHC01603I
HHC01603I    GOOD    Enables tracing of successful transactions.
HHC01603I            The keyword 'SUCCESS' is also accepted.
HHC01603I
HHC01603I    BAD     Enables tracing of unsuccessful transactions.
HHC01603I            The keyword 'FAIL'or 'FAILURE' is also accepted.
HHC01603I
HHC01603I    TDB     Displays an unsuccessful transaction's TDB.
HHC01603I    PAGES   Displays a transaction's page map information.
HHC01603I    LINES   Displays a page map's cache line information.
HHC01603I
HHC01603I Enter 'txf' by itself to display the current options. Use 'txf 0'
HHC01603I to disable all txf tracing. If 'INSTR' is not specified then only
HHC01603I the results of transactions are traced. If any option other than
HHC01603I 'U' or 'C' is also specified with 'INSTR' then both instructions
HHC01603I and transaction results are traced. Note: 'txf INSTR' does not by
HHC01603I itself enable instruction tracing. Use the 't+' command to do that.

Thanks.

Fish-Git added a commit to SDL-Hercules-390/hyperion that referenced this issue May 18, 2020
   "All instructions in the transaction must be within
    256 contiguous bytes of storage, including the
    TRANSACTION BEGIN (TBEGINC) and any TRANSACTION END
    instructions."

(page 5-107)

Closes one of TXF issue 5's items (SDL-Hercules-390/hyperion-txf#5)

[skip travis]
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants