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


Date: Thu, 15 Feb 2007 21:19:15 -0600
From: "Mike Marty" <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] A question on ruby tester

Hi Lei,

 

This happens when there isn’t enough resources to start the request.  For example, the replacement of the victim may have never finished.

 

--Mike

 

 

-----Original Message-----
From: gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-bounces@xxxxxxxxxxx] On Behalf Of Lei Yang
Sent: Thursday, February 15, 2007 4:18 PM
To: Gems-users@xxxxxxxxxxx
Subject: [Gems-users] A question on ruby tester

 

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

 

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