Hi,
The PacketQueue has following code in PacketQueue::schedSendTiming:
// add a very basic sanity check on the port to ensure the
// invisible buffer is not growing beyond reasonable limits
if (transmitList.size() > 100) {
panic("Packet queue %s has grown beyond 100 packets\n",
name());
}
Since the buffer is invisible to it’s master, what if the master is to much
faster than the slave?
Suppose a fast processor accesses cache in a very short interval, and the
cache then pushes all it’s
memory requests to the memory side PacketQueue without knowing the queue is
growing.
And finally: panic: Packet queue system.cache.mem_side-MemSidePort has grown
beyond 100 packets.
So what is the correct manner to deal with this. Understanding that the
PacketQueue is used for
flow control, shoud the cache be blocked when it is runing too fast that its
outcoming queue is full?
Thanks.
Yours, Licheng.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users