Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-14 Thread Tony Gutierrez

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


Any last comments? I plan to ship this before the EoD today.

- Tony Gutierrez


On July 13, 2015, noon, David Hashe wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2965/
> ---
> 
> (Updated July 13, 2015, noon)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 10923:8bdfe8dd9c2b
> ---
> rename System.{hh,cc} to RubySystem.{hh,cc}
> 
> The eventual aim of this change is to pass RubySystem pointers through to 
> objects generated from the SLICC protocol code.
> 
> Because some of these objects need to dereference their RubySystem pointers, 
> they need access to the System.hh header file.
> 
> In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
> header files in the build directory that do nothing except include the 
> corresponding header file from the source tree.
> 
> However, SLICC also generates a list of header files from its symbol table, 
> and writes it to mem/protocol/Types.hh in the build directory. This code 
> assumes that the header file name is the same as the class name.
> 
> The end result of this is the many of the generated slicc files try to 
> include RubySystem.hh, when the file they really need is System.hh. The path 
> of least resistence is just to rename System.hh to RubySystem.hh.
> 
> 
> Diffs
> -
> 
>   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
>   src/mem/slicc/symbols/StateMachine.py 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/CacheMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/DirectoryMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
>   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/CacheRecorder.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/WireBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/TimerTable.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/slicc_interface/AbstractController.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/MessageBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/NonCountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BulkBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BlockBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-04 Thread Jason Power

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

Ship it!


I had been putting off this review since it touched so many files. I didn't 
realize it was so simple ;).

- Jason Power


On July 13, 2015, 7 p.m., David Hashe wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2965/
> ---
> 
> (Updated July 13, 2015, 7 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 10923:8bdfe8dd9c2b
> ---
> rename System.{hh,cc} to RubySystem.{hh,cc}
> 
> The eventual aim of this change is to pass RubySystem pointers through to 
> objects generated from the SLICC protocol code.
> 
> Because some of these objects need to dereference their RubySystem pointers, 
> they need access to the System.hh header file.
> 
> In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
> header files in the build directory that do nothing except include the 
> corresponding header file from the source tree.
> 
> However, SLICC also generates a list of header files from its symbol table, 
> and writes it to mem/protocol/Types.hh in the build directory. This code 
> assumes that the header file name is the same as the class name.
> 
> The end result of this is the many of the generated slicc files try to 
> include RubySystem.hh, when the file they really need is System.hh. The path 
> of least resistence is just to rename System.hh to RubySystem.hh.
> 
> 
> Diffs
> -
> 
>   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
>   src/mem/slicc/symbols/StateMachine.py 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/CacheMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/DirectoryMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
>   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/CacheRecorder.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/WireBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/TimerTable.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/slicc_interface/AbstractController.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/MessageBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/NonCountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BulkBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BlockBloomFilter.cc 
> 

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-03 Thread Tony Gutierrez

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


Are they comments on this? We'd like to ship this soon.

- Tony Gutierrez


On July 13, 2015, noon, David Hashe wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2965/
> ---
> 
> (Updated July 13, 2015, noon)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 10923:8bdfe8dd9c2b
> ---
> rename System.{hh,cc} to RubySystem.{hh,cc}
> 
> The eventual aim of this change is to pass RubySystem pointers through to 
> objects generated from the SLICC protocol code.
> 
> Because some of these objects need to dereference their RubySystem pointers, 
> they need access to the System.hh header file.
> 
> In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
> header files in the build directory that do nothing except include the 
> corresponding header file from the source tree.
> 
> However, SLICC also generates a list of header files from its symbol table, 
> and writes it to mem/protocol/Types.hh in the build directory. This code 
> assumes that the header file name is the same as the class name.
> 
> The end result of this is the many of the generated slicc files try to 
> include RubySystem.hh, when the file they really need is System.hh. The path 
> of least resistence is just to rename System.hh to RubySystem.hh.
> 
> 
> Diffs
> -
> 
>   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
>   src/mem/slicc/symbols/StateMachine.py 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/CacheMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/DirectoryMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
>   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/CacheRecorder.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/WireBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/TimerTable.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/slicc_interface/AbstractController.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/MessageBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/NonCountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BulkBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BlockBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/common/DataBlock.cc 

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-03 Thread Gutierrez, Anthony
We can do either hg mv, or hg rm and hg add. What is preferred?

From: Nilay Vaish [mailto:nore...@gem5.org] On Behalf Of Nilay Vaish
Sent: Thursday, September 03, 2015 1:51 PM
To: Nilay Vaish; Gutierrez, Anthony; Hashe, David; Default
Subject: Re: Review Request 2965: rename System.{hh,cc} to RubySystem.{hh,cc}

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



On September 3rd, 2015, 6:36 p.m. UTC, Tony Gutierrez wrote:

Are they comments on this? We'd like to ship this soon.

Has hg mv been used to move those two files?


- Nilay


On July 13th, 2015, 7 p.m. UTC, David Hashe wrote:
Review request for Default.
By David Hashe.

Updated July 13, 2015, 7 p.m.
Repository: gem5
Description

Changeset 10923:8bdfe8dd9c2b

---

rename System.{hh,cc} to RubySystem.{hh,cc}



The eventual aim of this change is to pass RubySystem pointers through to 
objects generated from the SLICC protocol code.



Because some of these objects need to dereference their RubySystem pointers, 
they need access to the System.hh header file.



In src/mem/ruby/SConscript, the MakeInclude function creates single-line header 
files in the build directory that do nothing except include the corresponding 
header file from the source tree.



However, SLICC also generates a list of header files from its symbol table, and 
writes it to mem/protocol/Types.hh in the build directory. This code assumes 
that the header file name is the same as the class name.



The end result of this is the many of the generated slicc files try to include 
RubySystem.hh, when the file they really need is System.hh. The path of least 
resistence is just to rename System.hh to RubySystem.hh.


Diffs

  *   src/mem/ruby/system/RubySystem.cc (PRE-CREATION)
  *   src/mem/slicc/symbols/StateMachine.py 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/System.cc (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/System.hh (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/Sequencer.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/SConscript (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/RubySystem.py 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/CacheMemory.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/BankedArray.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/BankedArray.hh 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/DirectoryMemory.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/Prefetcher.hh 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/RubySystem.hh (PRE-CREATION)
  *   src/mem/ruby/system/RubyPort.hh (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/DMASequencer.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/DMASequencer.hh 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/system/CacheRecorder.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/WireBuffer.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/TimerTable.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/RubyMemoryControl.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/RubyMemoryControl.hh 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/structures/Prefetcher.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/slicc/symbols/Type.py (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/slicc_interface/AbstractController.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/simple/Throttle.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/simple/Throttle.hh 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/simple/SimpleNetwork.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/Network.cc (5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/network/MessageBuffer.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/filters/NonCountingBloomFilter.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/filters/BulkBloomFilter.cc 
(5ee72f4b293152dd0c75ab402a49696d6903e604)
  *   src/mem/ruby/filters/BlockBloomFilter.cc 

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-03 Thread Tony Gutierrez


> On Sept. 3, 2015, 11:36 a.m., Tony Gutierrez wrote:
> > Are they comments on this? We'd like to ship this soon.
> 
> Nilay Vaish wrote:
> Has hg mv been used to move those two files?

We can do hg mv or hg rm/hg add. What is preferred?


- Tony


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


On July 13, 2015, noon, David Hashe wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2965/
> ---
> 
> (Updated July 13, 2015, noon)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 10923:8bdfe8dd9c2b
> ---
> rename System.{hh,cc} to RubySystem.{hh,cc}
> 
> The eventual aim of this change is to pass RubySystem pointers through to 
> objects generated from the SLICC protocol code.
> 
> Because some of these objects need to dereference their RubySystem pointers, 
> they need access to the System.hh header file.
> 
> In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
> header files in the build directory that do nothing except include the 
> corresponding header file from the source tree.
> 
> However, SLICC also generates a list of header files from its symbol table, 
> and writes it to mem/protocol/Types.hh in the build directory. This code 
> assumes that the header file name is the same as the class name.
> 
> The end result of this is the many of the generated slicc files try to 
> include RubySystem.hh, when the file they really need is System.hh. The path 
> of least resistence is just to rename System.hh to RubySystem.hh.
> 
> 
> Diffs
> -
> 
>   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
>   src/mem/slicc/symbols/StateMachine.py 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/CacheMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/DirectoryMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
>   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/CacheRecorder.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/WireBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/TimerTable.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/slicc_interface/AbstractController.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/MessageBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/NonCountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-03 Thread Nilay Vaish

On Thu, 3 Sep 2015, Tony Gutierrez wrote:





On Sept. 3, 2015, 11:36 a.m., Tony Gutierrez wrote:

Are they comments on this? We'd like to ship this soon.


Nilay Vaish wrote:
Has hg mv been used to move those two files?


We can do hg mv or hg rm/hg add. What is preferred?



hg rm/hg add would lose all the history.  Certainly hg mv should be 
preferred.


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


Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-09-03 Thread Nilay Vaish


> On Sept. 3, 2015, 6:36 p.m., Tony Gutierrez wrote:
> > Are they comments on this? We'd like to ship this soon.

Has hg mv been used to move those two files?


- Nilay


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


On July 13, 2015, 7 p.m., David Hashe wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2965/
> ---
> 
> (Updated July 13, 2015, 7 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 10923:8bdfe8dd9c2b
> ---
> rename System.{hh,cc} to RubySystem.{hh,cc}
> 
> The eventual aim of this change is to pass RubySystem pointers through to 
> objects generated from the SLICC protocol code.
> 
> Because some of these objects need to dereference their RubySystem pointers, 
> they need access to the System.hh header file.
> 
> In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
> header files in the build directory that do nothing except include the 
> corresponding header file from the source tree.
> 
> However, SLICC also generates a list of header files from its symbol table, 
> and writes it to mem/protocol/Types.hh in the build directory. This code 
> assumes that the header file name is the same as the class name.
> 
> The end result of this is the many of the generated slicc files try to 
> include RubySystem.hh, when the file they really need is System.hh. The path 
> of least resistence is just to rename System.hh to RubySystem.hh.
> 
> 
> Diffs
> -
> 
>   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
>   src/mem/slicc/symbols/StateMachine.py 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/CacheMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/BankedArray.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/DirectoryMemory.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
>   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/DMASequencer.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/system/CacheRecorder.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/WireBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/TimerTable.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/RubyMemoryControl.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/structures/Prefetcher.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/slicc_interface/AbstractController.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/Throttle.hh 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/simple/SimpleNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/network/MessageBuffer.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/NonCountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   src/mem/ruby/filters/BulkBloomFilter.cc 
> 5ee72f4b293152dd0c75ab402a49696d6903e604 
>   

[gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-07-13 Thread David Hashe

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

Review request for Default.


Repository: gem5


Description
---

Changeset 10923:8bdfe8dd9c2b
---
rename System.{hh,cc} to RubySystem.{hh,cc}

The eventual aim of this change is to pass RubySystem pointers through to 
objects generated from the SLICC protocol code.

Because some of these objects need to dereference their RubySystem pointers, 
they need access to the System.hh header file.

In src/mem/ruby/SConscript, the MakeInclude function creates single-line header 
files in the build directory that do nothing except include the corresponding 
header file from the source tree.

However, SLICC also generates a list of header files from its symbol table, and 
writes it to mem/protocol/Types.hh in the build directory. This code assumes 
that the header file name is the same as the class name.

The end result of this is the many of the generated slicc files try to include 
RubySystem.hh, when the file they really need is System.hh. The path of least 
resistence is just to rename System.hh to RubySystem.hh.


Diffs
-

  src/mem/ruby/system/RubySystem.cc PRE-CREATION 
  src/mem/slicc/symbols/StateMachine.py 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/CacheMemory.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/BankedArray.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/BankedArray.hh 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/DirectoryMemory.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/Prefetcher.hh 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/RubySystem.hh PRE-CREATION 
  src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/DMASequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/DMASequencer.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/system/CacheRecorder.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/WireBuffer.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/TimerTable.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/RubyMemoryControl.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/RubyMemoryControl.hh 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/structures/Prefetcher.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/slicc_interface/AbstractController.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/simple/Throttle.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/simple/Throttle.hh 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/simple/SimpleNetwork.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/network/MessageBuffer.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/filters/NonCountingBloomFilter.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/filters/MultiGrainBloomFilter.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/filters/BulkBloomFilter.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/filters/BlockBloomFilter.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/common/DataBlock.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/mem/ruby/common/Address.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/cpu/testers/rubytest/RubyTester.cc 
5ee72f4b293152dd0c75ab402a49696d6903e604 
  src/cpu/testers/rubytest/Check.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 

Diff: http://reviews.gem5.org/r/2965/diff/


Testing
---


Thanks,

David Hashe

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


Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-07-13 Thread Nilay Vaish

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


I am as such fine with the patch.  I myself have faced similar problem with the 
naming of
the header file.

Can you expand on your eventual aim?  I am trying to understand the need for 
spreading the
ruby system pointer around.  Please note that classic memory system has no 
notion of a memory
system pointer.  I think ruby should also try to avoid having a memory system 
pointer in each
object.

- Nilay Vaish


On July 13, 2015, 7 p.m., David Hashe wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2965/
 ---
 
 (Updated July 13, 2015, 7 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10923:8bdfe8dd9c2b
 ---
 rename System.{hh,cc} to RubySystem.{hh,cc}
 
 The eventual aim of this change is to pass RubySystem pointers through to 
 objects generated from the SLICC protocol code.
 
 Because some of these objects need to dereference their RubySystem pointers, 
 they need access to the System.hh header file.
 
 In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
 header files in the build directory that do nothing except include the 
 corresponding header file from the source tree.
 
 However, SLICC also generates a list of header files from its symbol table, 
 and writes it to mem/protocol/Types.hh in the build directory. This code 
 assumes that the header file name is the same as the class name.
 
 The end result of this is the many of the generated slicc files try to 
 include RubySystem.hh, when the file they really need is System.hh. The path 
 of least resistence is just to rename System.hh to RubySystem.hh.
 
 
 Diffs
 -
 
   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
   src/mem/slicc/symbols/StateMachine.py 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/CacheMemory.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/BankedArray.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/BankedArray.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/DirectoryMemory.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/Prefetcher.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/RubySystem.hh PRE-CREATION 
   src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/DMASequencer.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/DMASequencer.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/CacheRecorder.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/WireBuffer.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/TimerTable.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/RubyMemoryControl.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/RubyMemoryControl.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/Prefetcher.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/slicc_interface/AbstractController.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/simple/Throttle.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/simple/Throttle.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/simple/SimpleNetwork.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/network/MessageBuffer.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/filters/NonCountingBloomFilter.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/filters/MultiGrainBloomFilter.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/filters/LSB_CountingBloomFilter.cc 
 

Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}

2015-07-13 Thread David Hashe


 On July 13, 2015, 8:10 p.m., Nilay Vaish wrote:
  I am as such fine with the patch.  I myself have faced similar problem with 
  the naming of
  the header file.
  
  Can you expand on your eventual aim?  I am trying to understand the need 
  for spreading the
  ruby system pointer around.  Please note that classic memory system has no 
  notion of a memory
  system pointer.  I think ruby should also try to avoid having a memory 
  system pointer in each
  object.

The main problem with Ruby for having multiple instances is that there are 
static variables that end up being shared if there are multiple RubySystem 
objects. Currently, each time a Controller or DirectoryMemory object is 
instantiated it increments a static counter indicating how many copies of that 
object exist. The interconnection network uses this information extensively in 
order to iterate over members of the network and route packets. Effectively, 
each Controller has an ID in the range of 0 to the number of Controllers.

One major problem is that the IDs are repeated for each RubySystem. So, with 
two RubySystems there are two controllers with ID 0, 1, etc. which leads to 
incorrect routing on the interconnection network (asserts in 
network/Topology.cc catch this, but if those are disabled then that is the 
result).

What my future patches do is relocate these static variables to be members of 
the RubySystem object. Then, whenever an object needs to know this information, 
it accesses it through a pointer to the RubySystem that it is a part of. This 
disambiguates between controllers and eliminates the routing conflicts.

In particular, the NetDest object frequently needs to know this information, 
but since it is not a SimObject, it must be passed a pointer to the RubySystem, 
which means that any object that needs to create a NetDest object needs access 
to a RubySystem object.

The alternative would have been to make each of the static variables into a 
vector of their previous values and instead pass around a RubySystemID to each 
object. However, this has all of the disadvantages of passing pointers with the 
added pains of keeping information scattered and hard to understand, and not 
being as extensible.

Other than those two options, I don't see any other way to implement what we 
need without significantly refactoring the interconnection network. Since the 
RubySystem object already exists, it makes more sense to use it.


- David


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


On July 13, 2015, 7 p.m., David Hashe wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2965/
 ---
 
 (Updated July 13, 2015, 7 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10923:8bdfe8dd9c2b
 ---
 rename System.{hh,cc} to RubySystem.{hh,cc}
 
 The eventual aim of this change is to pass RubySystem pointers through to 
 objects generated from the SLICC protocol code.
 
 Because some of these objects need to dereference their RubySystem pointers, 
 they need access to the System.hh header file.
 
 In src/mem/ruby/SConscript, the MakeInclude function creates single-line 
 header files in the build directory that do nothing except include the 
 corresponding header file from the source tree.
 
 However, SLICC also generates a list of header files from its symbol table, 
 and writes it to mem/protocol/Types.hh in the build directory. This code 
 assumes that the header file name is the same as the class name.
 
 The end result of this is the many of the generated slicc files try to 
 include RubySystem.hh, when the file they really need is System.hh. The path 
 of least resistence is just to rename System.hh to RubySystem.hh.
 
 
 Diffs
 -
 
   src/mem/ruby/system/RubySystem.cc PRE-CREATION 
   src/mem/slicc/symbols/StateMachine.py 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/CacheMemory.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/BankedArray.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/BankedArray.hh 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/DirectoryMemory.cc 
 5ee72f4b293152dd0c75ab402a49696d6903e604 
   src/mem/ruby/structures/Prefetcher.hh