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