> On April 11, 2016, 8:51 p.m., Jason Lowe-Power wrote:
> > Could you point out where this parameter is used? I'm having a hard time 
> > finding it in this patch.
> > 
> > Without seeing where the parameter is used, I feel like there has to be a 
> > better way! Surely we can find a way to modify the few places this 
> > information is needed rather than changing every file.
> 
> Jason Lowe-Power wrote:
>     Seems I jumped the gun here. This, /r/3423 and /r/3424 will be combined? 
> To double check that I understand, the reason this is needed is for 
> makeLineAddress, etc? Could you provide a list of these functions?
>     
>     Maybe we should take this off reviewboard. Could you send an email with 
> the underlying reason you need to pass this new parameter around everywhere. 
> Since it's split across so many patches, I'm having a hard time following.
>     
>     I really don't like the idea of passing around this parameter everywhere. 
> I'd like to understand better the problem so I can try my hand at a cleaner 
> solution.
> 
> Brandon Potter wrote:
>     Right, I broke the patches apart so that it was easier to isolate the 
> changes. The goal was to split the patches so that they compile/run 
> seperately while maintaining some distinction between them; this is 
> especially true for the block size patches which amount to thousands of patch 
> lines if they're all combined.
>     
>     The total ordering of all of the Ruby patches is as follows:
>     1)  http://reviews.gem5.org/r/3413/ - DPRINTF newline
>     2)  http://reviews.gem5.org/r/3414/ - unnecessary !!
>     3)  http://reviews.gem5.org/r/3415/ - #ifdef 0 removal
>     4)  http://reviews.gem5.org/r/3416/ - intermediate TBE transitions 
> _(MESI_{Three,Two}_Level, MOESI_CMP_directory, MOESI_hammer)_
>     5)  http://reviews.gem5.org/r/3417/ - for TBETable, use ENTRY* instead of 
> Entry
>     6)  http://reviews.gem5.org/r/3418/ - SLICC pointer naming convention 
> change
>     7)  http://reviews.gem5.org/r/3419/ - SubBlock removal
>     8)  http://reviews.gem5.org/r/3420/ - filter's parameter list change 
> (string -> types)
>     9)  http://reviews.gem5.org/r/3421/ - preliminary addition of 
> block_size_{bits,bytes} to objects
>     10) http://reviews.gem5.org/r/3422/ - functional read/write parameter 
> changes
>     11) http://reviews.gem5.org/r/3423/ - add block_size_bits to testAnd* 
> functions
>     12) http://reviews.gem5.org/r/3424/ - add block_size_{bytes, bits} to the 
> address functions
>     13) http://reviews.gem5.org/r/3425/ - write mask initialization
>     14) http://reviews.gem5.org/r/3426/ - data block initialization
>     15) http://reviews.gem5.org/r/3427/ - SLICC grammer addition (new w/ 
> constructor for _new ENTRY(block_size)_)
>     16) http://reviews.gem5.org/r/3428/ - pass block_size into ENTRY 
> constructors
>     17) http://reviews.gem5.org/r/3429/ - change PerfectCache to use ENTRY* 
> instead of ENTRY
>     18) http://reviews.gem5.org/r/3430/ - remove RubySystem static for 
> block_size
>     19) http://reviews.gem5.org/r/3431/ - convert global stats variables to 
> locals
>     20) http://reviews.gem5.org/r/3432/ - add helper method for stats printing
>     21) http://reviews.gem5.org/r/3433/ - component mapping changes
>     22) http://reviews.gem5.org/r/3434/ - remove unused L3Cntrl in Python 
> files
>     23) http://reviews.gem5.org/r/3435/ - consolidate CntrlBase definitions 
> and add clear method to CntrlBase
>     24) http://reviews.gem5.org/r/3436/ - topology - avoid Machine* functions
>     25) http://reviews.gem5.org/r/3437/ - network/netdest - avoid Machine* 
> functions
>     26) http://reviews.gem5.org/r/3438/ - allows used of uninitialized sets 
> for NetDest
>     27) http://reviews.gem5.org/r/3439/ - Packet* to PacketPtr change
>     28) http://reviews.gem5.org/r/3440/ - add L0 machine type to machine type 
> enumeration class (for MESI_Three_Level)
>     29) http://reviews.gem5.org/r/3441/ - MESI_Three_Level - make the L0 
> cache visible to the Ruby network
>     30) http://reviews.gem5.org/r/3442/ - add scripts to invoke 
> multi-instance and left-over miscellaneous fixes
>     31) http://reviews.gem5.org/r/3443/ - garnet fixed model bug fix
>     
>     The block size related changes are from 9-18. With patches 9-12, I add in 
> block_size parameters in a structured way that doesn't prevent 
> compilation/running. It should also help readability tremendously; the 
> alternative is to have them put into a single patch which might be hard to 
> understand.

To follow the block_size parameter changes, I'd look at 9-12 definitely and 
perhaps 13 and 14. The key to understanding the changes is that the functions 
used in 12 are used alot.


- Brandon


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3422/#review8178
-----------------------------------------------------------


On April 4, 2016, 11:40 p.m., Brandon Potter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3422/
> -----------------------------------------------------------
> 
> (Updated April 4, 2016, 11:40 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11424:6901103f7f04
> ---------------------------
> ruby: change function signature for functional_read/write
> 
> The functional_read and function_write functions within Ruby will
> occasionally use methods which rely on knowing the block size so we add
> the block size as a parameter.
> 
> To avoid special casing large sections of the SLICC code, we propagate the
> change to all instances of these functions (even when the parameter is
> not used).
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/slicc_interface/Message.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/slicc_interface/RubyRequest.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/slicc_interface/RubyRequest.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/system/RubySystem.cc cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/slicc/symbols/StateMachine.py 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/simple/SimpleNetwork.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/simple/Switch.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/simple/Switch.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/flit_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/Router.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/Router.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/flit.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/flexible-pipeline/flit.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MESI_Three_Level-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MESI_Two_Level-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MI_example-msg.sm cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MOESI_AMD_Base-Region-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MOESI_AMD_Base-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MOESI_CMP_directory-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MOESI_CMP_token-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/MOESI_hammer-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/Network_test-msg.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/RubySlicc_Exports.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/protocol/RubySlicc_MemControl.sm 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/MessageBuffer.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/MessageBuffer.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/Network.hh cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
>   src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh 
> cfad34a15729e1d5e096245f5a80ded6e2c379ca 
> 
> Diff: http://reviews.gem5.org/r/3422/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Brandon Potter
> 
>

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to