Re: [Gems-users] A question on ruby tester


Date: Thu, 15 Feb 2007 17:03:07 -0700
From: "Liqun Cheng" <liqun.cheng@xxxxxxxxx>
Subject: Re: [Gems-users] A question on ruby tester
Lei,

A couple things you can try when waiting for Mike's offical solution.
1, set ruby0.debug-verb to high, which will print more dubeg info.
2, you can use gdb to debug tester. However, in the default makefile, ruby and tester share the same object files w/ optimization turned on. This will cause some problem when you try to step through the code. I have written a Makefile which generates a seperate set of object files only for debugging, aka compiled with -g instead of -02.  I can share the  makefile if you are interested.

Cheers
Liqun

On 2/15/07, Lei Yang <lya755@xxxxxxxxxxxxxxxxxxxx> wrote:
Hello everyone,
 
I am using Ruby tester to verify my cache coherence protocol and found a weird problem. Basically I got this error message of possible deadlock:
 
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:121: Possible Deadlock detected
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:122: request is [CacheMsg: Address=[0xdee, line 0xdc0]
Type=ATOMIC ProgramCounter=[0xf0, line 0xc0] AccessMode=SupervisorMode Size=1 Prefetch=No Version=0 Aborted=0 Time=10624 ]
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:123: m_chip_ptr->getID() is 2
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:124: m_version is 0
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:125: current_time is 1000002
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:126: request.getTime() is 10624
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:127: current_time - request.getTime() is 989378
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:128: keys.size() is 16
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:129: *m_writeRequestTable_ptr is [ [0xdc0, line 0xdc0]=
 
 
I searched for address 0xdee and it appears NO where in the output trace. Then I went to request time 10624 and saw this:
10624   2  -1        Seq               Begin       >       [0xdc0, line 0xdc0]
 
After this line there is no occurance of 0xdc0. It appears to me that after the request on 0xdc0 is issued by the sequencer, nothing else was done. I don't even know wheter it is instruction read or load/store.  Then somehow it leads to a deadlock. Could anyone please give me a hint on how might I find out the problem?
 
Thank you very much!
 
Lei
 

_______________________________________________
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→]