Hi, all,

I'm using the GEMS simulator and have sent this message to GEMS mail list "
gems-us...@cs.wisc.edu" but got a response that "The Gems-users list is now
defunct, and has been subsumed by the gem5-users list. Please post your
question there", so I came here.
I inserted some MAGIC_BREAKPOINT in the following functions
in "$GEMS/microbenchmark/transactional/common/transaction.c":
void compensation_handler()
void commit_handler()
void register_compensation_handler()
void register_commit_handler()
void register_compensating_action()
void register_commit_action()
void tm_unroll_log_entry()
void tm_execute_compensation()
void tm_execute_commit_action()
void tm_execute_commit_actions()
void tm_release_isolation()
void tm_execute_summary_signature_conflict_handlers()
void tm_register_summary_signature_conflict_handler()
void tm_init_summary_signature_conflict_handlers()
void tm_log_unroll()
void tm_trap_handler()
void transaction_manager_stub()
void touch_log()
void walk_log()
void init_log()
void set_log_base()
void set_handler_address()
void set_transaction_registers()
void ruby_watch()

Then I ran the "paging" microbenchmark in
"$GEMS/microbenchmark/transactional/paging" with "./paging 2 2" on the
4-core simulator. I have got a few break points at first:
-------------------------------------------------------------------------------------------------
[cpu0] v:0x0000000000013118 p:0x0003bf03118  magic (sethi 0x40000, %g0)
set_handler_address () in paging
simics> c
 1955659 0 [0,0] Setting Handler Address: [0x12bf0, line 0x12bc0]
......
[cpu1] v:0x0000000000013118 p:0x0003bf03118  magic (sethi 0x40000, %g0)
Setting new inspection cpu: cpu1
set_handler_address () in paging
simics> c
 1957286 1 [1,0] Setting Handler Address: [0x12bf0, line 0x12bc0]
-------------------------------------------------------------------------------------------------

But the simulation was aborted soon and showing:
------------------------------------------------------------------------------------------
1994032 1 SHOULD TRAP IN NON_XACT 0
*****************WARNING********************
simics-common: log_tm/TransactionSimicsProcessor.C:595: void *
TransactionSimicsProcessor::retiredMemRef*(memory_transaction_t*):
Assertion `0' failed.
Abort (SIGABRT) in main thread
Crash stack trace:
#0 0x00002ab85db86765 <unknown>
...
#102 0x00002ab85e59cba0 <unknown>
The simulation state has been corrupted. Simulation cannot continue.
Please restart Simics.
[cpu1] v:0x00000000000117b8 p:0x00039e917b8  *stw %g0, [%g1 + %g0]*
slaveLoop () in paging
simics>
-------------------------------------------------------------------------------------------

Besides, the "paging" benchmark will continue running even for a couple of
days if there are no MAGIC_BREAKPOINT inserted in trancaction.c. Is that
normal?

Could any one please tell me where am I doing wrong and where is the
transaction conflict handler of LogTM in transaction.c or somewhere else?
Thanks!


Best regards,

-- 
JIANG Yunyun
Institute of High Performance Computing,
Department of Computer Science and Technology,
Tsinghua University, Beijing, China, 100084.
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to