ruby: profiler: lots of inter-related changes
authorNilay Vaish <nilay@cs.wisc.edu>
Tue, 25 Jun 2013 05:32:03 +0000 (00:32 -0500)
committerNilay Vaish <nilay@cs.wisc.edu>
Tue, 25 Jun 2013 05:32:03 +0000 (00:32 -0500)
commitbeb6e57c6f6141ad959bb97b49daad7f1fa54af3
tree3221c7605fee55dc272fc4ba86ad384db9ad41ca
parentbeee57070a1fecfe4b854af0c525b454a472202f
ruby: profiler: lots of inter-related changes
The patch started of with removing the global variables from the profiler for
profiling the miss latency of requests made to the cache. The corrresponding
histograms have been moved to the Sequencer. These are combined together when
the histograms are printed. Separate histograms are now maintained for
tracking latency of all requests together, of hits only and of misses only.

A particular set of histograms used to use the type GenericMachineType defined
in one of the protocol files. This patch removes this type. Now, everything
that relied on this type would use MachineType instead. To do this, SLICC has
been changed so that multiple machine types can be declared by a controller
in its preamble.
14 files changed:
src/mem/protocol/MI_example-cache.sm
src/mem/protocol/MOESI_CMP_token-L1cache.sm
src/mem/protocol/MOESI_hammer-cache.sm
src/mem/protocol/RubySlicc_ComponentMapping.sm
src/mem/protocol/RubySlicc_Exports.sm
src/mem/protocol/RubySlicc_Types.sm
src/mem/ruby/common/Histogram.cc
src/mem/ruby/profiler/Profiler.cc
src/mem/ruby/profiler/Profiler.hh
src/mem/ruby/system/Sequencer.cc
src/mem/ruby/system/Sequencer.hh
src/mem/slicc/ast/MachineAST.py
src/mem/slicc/parser.py
src/mem/slicc/symbols/Type.py