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

Reply via email to