Re: [Gems-users] LogTM SE in Gems 2.1


Date: Wed, 05 Mar 2008 13:23:52 -0600
From: Jayaram Bobba <bobba@xxxxxxxxxxx>
Subject: Re: [Gems-users] LogTM SE in Gems 2.1
Can you check the value of ATMTP_ENABLED flag in your simulation. It needs to be set to false for normal LogTM simulations. I dont see any other reason for the transaction to be aborted after an
exception (cycle 186332).

The other red flag:

### Executing "instruction-fetch-mode instruction-fetch-trace"
[cpu0 error] You must use the 'stall' variant of this cpu to get access to the instruction-fetch-trace mode. [cpu1 error] You must use the 'stall' variant of this cpu to get access to the instruction-fetch-trace mode.
New instruction-fetch-mode:
### Executing "instruction-fetch-mode"
cpu0: no-instruction-fetch
cpu1: no-instruction-fetch

You need to run simics with -stall option in order to ensure that instruction fetches are given
to Ruby.

And finally, regarding the mismatch between Open and Closed, transactions at nesting level 1 are treated as Open transactions. Closed and Open transactions have the same semantics at the outermost nesting level.

Jayaram

Fuad Tabba wrote:
Thanks for your reply Jayaram.

I guess it was simple after all. However; I am having some problems. I tried converting one of the old benchmarks (a red black tree, running one thread on a two processor machine). I call the initialization and set_register functions however the simulation crashes. I'm using closed transactions, however the first thing I notice (from the debug trace) is that I'm getting what seems to be a mismatch of open/closed transactions:-

185045 0 [0,0] TID 0 XACT BEGIN 0 PC 0x19d38 *PC 0x1000400 'magic (sethi 0x400, %g0)' CLOSED
...
...
...
185626 0 [0,0] TID 0 XACT COMMIT 0 PC 0x19e6c *PC 0x4000094d 'call 0x196283a0' OPEN

After a few of those transactions I get the following in the middle of a transaction:- 186331 0 [0,0 ] XACT Exception(68)_START--Trap Level 0--(PC=0x1a0a0, 1a0a4) instruction = stw %o1, [%o0 + 0] 186332 0 [0,0 ] XACT Exception(68)_DONE--Trap Level 1--(PC=0x1001660, 1001664)--(TPC=0x1a0a0, 1a0a4) 186332 0 [0,0] TID 0 XACT ABORT 0 caused by 0 [ 0, 0 ] xid: 0 address: [0x0, line 0x0] delay: 186332 PC [0x0, line 0x0] *PC 0xffffffff 'illegal instruction: ff ff ff ff'
SIMICS SEG FAULT  for thread 0 of proc 0
SIMICS SEG FAULT

And that's it pretty much. I'm sure I must be doing something wrong, a setting here or there but not sure what it is. I've attached the debug trace to this email.

Thanks again for your help.

Cheers,
/Fuad



On Wed, Mar 5, 2008 at 1:23 PM, Jayaram Bobba <bobba@xxxxxxxxxxx <mailto:bobba@xxxxxxxxxxx>> wrote:


    Step 1: Call init_transaction_state(num_threads) before thread
    creation
    Step 2: Call set_transaction_registers(thread_id) before a thread
    starts
    executing transactions.

    Binding threads to processors is highly recommended.

    Hope this answers your questions...

    Jayaram

    Fuad Tabba wrote:
    > Hi,
    >
    > I'm an old user of GEMS 1.3, I'm now migrating to GEMS 2.1,
    > specifically to use the LogTM SE simulation. After reading the
    page TM
    > Workload Setup
    >
    (http://www.cs.wisc.edu/gems/doc/wiki/moin.cgi/TM_Workload_Setup) , it
    > doesn't seem to be as straightforward as I initially thought it
    would
    > be. I thought that all I needed to do was redefine the magic calls
    > that would begin and commit a transaction in the old LogTM, but if I
    > understand that page correctly, some data structures need to be
    > initialized first....
    >
    > Anyone can point me in the direction of the easiest way to port
    > existing code based on the old LogTM to the new one? Something along
    > the lines of the minimum that needs to be done to get old code
    running
    > the old LogTM to work with LogTM SE.
    >
    > Thanks.
    >
    > Cheers,
    > /Fuad
    >
    ------------------------------------------------------------------------
    >
    > _______________________________________________
    > Gems-users mailing list
    > Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
    > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
    > Use Google to search the GEMS Users mailing list by adding
    "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
    >
    >
    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
    https://lists.cs.wisc.edu/mailman/listinfo/gems-users
    Use Google to search the GEMS Users mailing list by adding
    "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.

[← Prev in Thread] Current Thread [Next in Thread→]