-----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
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?