MESI: Add queues for stalled requests
authorNilay Vaish <nilay@cs.wisc.edu>
Fri, 10 Feb 2012 17:05:24 +0000 (11:05 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Fri, 10 Feb 2012 17:05:24 +0000 (11:05 -0600)
commit69d8600bf80ce065feccbac6d55e45db62f1654f
tree6d7758703a28417873a77bbd88c9f006ed191420
parent72f3f526fc327f2030fe2f44844e783f763ef6e3
MESI: Add queues for stalled requests
This patch adds support for stalling the requests queued up at different
controllers for the MESI CMP directory protocol. Earlier the controllers
would recycle the requests using some fixed latency. This results in
younger requests getting serviced first at times, and can result in
starvation. Instead all the requests that need a particular block to be
in a stable state are moved to a separate queue, where they wait till
that block returns to a stable state and then they are processed.
src/mem/protocol/MESI_CMP_directory-L1cache.sm
src/mem/protocol/MESI_CMP_directory-L2cache.sm
src/mem/protocol/MESI_CMP_directory-dir.sm