----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.m5sim.org/r/358/#review585 -----------------------------------------------------------
src/mem/ruby/slicc_interface/AbstractCacheEntry.hh <http://reviews.m5sim.org/r/358/#comment823> It looks like you're also changing the lock flag from being a separate table to a cache entry field... this seems reasonable, but also seems independent of the other changes. I don't know that it's worth separating into separate changeset, but there should be some mention of this in the commit message I think. src/mem/slicc/ast/ActionDeclAST.py <http://reviews.m5sim.org/r/358/#comment822> The expression '"%s" % foo' is a pretty unconventional way to force foo to be a string :-). If foo is already a string (which might be the case here) you don't need it at all. If foo is not a string, the conventional way to force a conversion is 'str(foo)'. I see there are a number of places where you do this. - Steve On 2010-12-31 17:50:59, Nilay Vaish wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.m5sim.org/r/358/ > ----------------------------------------------------------- > > (Updated 2010-12-31 17:50:59) > > > Review request for Default. > > > Summary > ------- > > The purpose of this patch is to change the way CacheMemory interfaces with > coherence protocols. Currently, whenever a cache controller (defined in the > protocol under consideration) needs to carry out any operation on a cache > block, it looks up the tag hash map and figures out whether or not the block > exists in the cache. In case it does exist, the operation is carried out > (which requires another lookup). Over a single clock cycle, multiple such > lookups take place as observed through profiling of different protocols. It > was seen that the tag lookup takes anything from 10% to 20% of the simulation > time. In order to reduce this time, this patch is being posted. The > CacheMemory class now will have a function that will return pointer to a > cache block entry, instead of a reference (though the function that returns > the reference has been retained currently). Functions have been introduced > for setting/unsetting a pointer and check its pointer. Similar changes have > been carried out for Transaction Buffer entries as well. > > Note that changes are required to both SLICC and the protocol files. This > patch carries out changes to SLICC and committing this patch alone, I > believe, will ___break___ all the protocols. I am working on patching the > protocols as well. This patch is being put to get feed back from other > developers. > > > Diffs > ----- > > src/mem/protocol/RubySlicc_Types.sm UNKNOWN > src/mem/ruby/slicc_interface/AbstractCacheEntry.hh UNKNOWN > src/mem/ruby/slicc_interface/AbstractCacheEntry.cc UNKNOWN > src/mem/ruby/system/CacheMemory.hh UNKNOWN > src/mem/ruby/system/CacheMemory.cc UNKNOWN > src/mem/ruby/system/TBETable.hh UNKNOWN > src/mem/slicc/ast/ActionDeclAST.py UNKNOWN > src/mem/slicc/ast/FormalParamAST.py UNKNOWN > src/mem/slicc/ast/FuncCallExprAST.py UNKNOWN > src/mem/slicc/ast/FuncDeclAST.py UNKNOWN > src/mem/slicc/ast/InPortDeclAST.py UNKNOWN > src/mem/slicc/ast/IsValidPtrExprAST.py PRE-CREATION > src/mem/slicc/ast/MethodCallExprAST.py UNKNOWN > src/mem/slicc/ast/StaticCastAST.py UNKNOWN > src/mem/slicc/ast/TypeDeclAST.py UNKNOWN > src/mem/slicc/ast/__init__.py UNKNOWN > src/mem/slicc/parser.py UNKNOWN > src/mem/slicc/symbols/StateMachine.py UNKNOWN > src/mem/slicc/symbols/SymbolTable.py UNKNOWN > > Diff: http://reviews.m5sim.org/r/358/diff > > > Testing > ------- > > I have tested these changes using the MOESI_CMP_directory and MI protocols. > > > Thanks, > > Nilay > >
_______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev