From: Andreas Hansson Date: Fri, 4 May 2012 07:30:02 +0000 (-0400) Subject: Ruby: Ensure snoop requests are sent using sendTimingSnoopReq X-Git-Tag: stable_2012_06_28~95 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=15e28c5ba6ef0a436d05468e3113304987257b0b;p=gem5.git 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. --- 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); } } }