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