Date: | Tue, 23 Oct 2012 11:25:34 +0800 |
---|---|
From: | Yunyun Jiang <jiangyunyuntt@xxxxxxxxx> |
Subject: | [Gems-users] Simics abort when running transactional microbenchmark |
Hi, all, 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, Yunyun JIANG Yunyun Institute of High Performance Computing, Department of Computer Science and Technology, Tsinghua University, Beijing, China, 100084. |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|