From 15e28c5ba6ef0a436d05468e3113304987257b0b Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Fri, 4 May 2012 03:30:02 -0400 Subject: [PATCH] Ruby: Ensure snoop requests are sent using sendTimingSnoopReq This patch fixes a bug that caused snoop requests to be placed in a packet queue. Instead, the packet is now sent immediately using sendTimingSnoopReq, thus bypassing the packet queue and any normal responses waiting to be sent. --- src/mem/ruby/system/RubyPort.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index 53b6e8e6d..3621cc9e3 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -698,7 +698,7 @@ RubyPort::ruby_eviction_callback(const Address& address) if ((*p)->getMasterPort().isSnooping()) { Packet *pkt = new Packet(&req, MemCmd::InvalidationReq); // send as a snoop request - (*p)->sendNextCycle(pkt, true); + (*p)->sendTimingSnoopReq(pkt); } } }