Hi all,

I am running PARSEC benchmark with full system simulation.
The CPU model is O3CPU (parameters tuned) with ARM ISA and MESI_Three_Level
protocol were used. (build/ARM_MESI_Three_Level/gem5.opt) While the
benchmark is running, panic occurs since the L0 cache controller gets
unsupported type of request with the following message.

panic: Runtime Error at MESI_Three_Level-L0cache.sm:287: Invalid
RubyRequestType.

I checked the type of request which triggers panic by inserting debug
message at mandatory_request_type_to_event() in
MESI_Three_Level-L0cache.sm. It was FLUSH request, and it is not handled
properly by the protocol. It seems that other protocols also do not handle
FLUSH request. I wonder why the protocol does not process FLUSH request
from a mandatory queue, and how I workaround this issue.

I modified the MESI_Three_Level-L0cache.sm so that it triggers
L0_Replacement event and pop the mandatory queue explicitly for the FLUSH
request. However, panic occurs at wakeup() function of sequencer
(src/mem/ruby/system/Sequencer.cc) since the FLUSH request is not erased
from the m_RequestTable. (Unlike read/writeCallback, evictionCallback does
not erase the entry in request table.)
It would be very helpful if you guys provide me a guide for this issue.

Thanks,

Daecheol.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to