[m5-dev] Cron m5test@zizzer /z/m5/regression/do-regression --scratch all

2011-03-20 Thread Cron Daemon

See /z/m5/regression/regress-2011-03-20-03:00:01 for details.

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


Re: [m5-dev] Review Request: Network Tester Patch

2011-03-20 Thread Tushar Krishna

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

(Updated 2011-03-20 05:11:37.330118)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
Binkert, and Brad Beckmann.


Changes
---

- Addressed Brad's comments: (1) removed functional ports from 
testers/networktest; (2) added a precision option to ruby_network_test.py that 
specifies the number of digits of precision after the decimal point for the 
injection rate. Also added comment to explain injection rate range. This field 
is used by networktest.cc when deciding whether or not to generate a packet. 
[Earlier this precision was hard-coded to 3 digits]
- Updated the Network_test-cache.sm file to replace CacheRequestType to 
RubyRequestType in accordance with recent m5 changes.


Summary
---

This patch adds the network tester for simple and garnet networks.
The tester code is in testers/networktest.
The tester can be invoked by configs/example/ruby_network_test.py.
A dummy coherence protocol called Network_test is also addded for network-only 
simulations and testing. The protocol takes in messages from the tester and 
just pushes them into the network in the appropriate vnet, without storing any 
state.


Diffs (updated)
-

  build_opts/ALPHA_SE_Network_test PRE-CREATION 
  configs/example/ruby_network_test.py PRE-CREATION 
  configs/ruby/Network_test.py PRE-CREATION 
  src/cpu/testers/networktest/NetworkTest.py PRE-CREATION 
  src/cpu/testers/networktest/SConscript PRE-CREATION 
  src/cpu/testers/networktest/networktest.hh PRE-CREATION 
  src/cpu/testers/networktest/networktest.cc PRE-CREATION 
  src/mem/protocol/Network_test-cache.sm PRE-CREATION 
  src/mem/protocol/Network_test-dir.sm PRE-CREATION 
  src/mem/protocol/Network_test-msg.sm PRE-CREATION 
  src/mem/protocol/Network_test.slicc PRE-CREATION 
  src/mem/protocol/SConsopts 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.py 89cd8302abd3 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 
89cd8302abd3 
  src/mem/ruby/system/Sequencer.hh 89cd8302abd3 
  src/mem/ruby/system/Sequencer.cc 89cd8302abd3 
  src/mem/ruby/system/Sequencer.py 89cd8302abd3 

Diff: http://reviews.m5sim.org/r/561/diff


Testing
---

Testing done with garnet and simple networks. I will update config assumptions 
etc on the wiki.


Thanks,

Tushar

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


Re: [m5-dev] Review Request: Network Tester Patch

2011-03-20 Thread Tushar Krishna

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

(Updated 2011-03-20 05:23:02.880797)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
Binkert, and Brad Beckmann.


Changes
---

clearer explanation about injectionrate value in ruby_network_test.py


Summary
---

This patch adds the network tester for simple and garnet networks.
The tester code is in testers/networktest.
The tester can be invoked by configs/example/ruby_network_test.py.
A dummy coherence protocol called Network_test is also addded for network-only 
simulations and testing. The protocol takes in messages from the tester and 
just pushes them into the network in the appropriate vnet, without storing any 
state.


Diffs (updated)
-

  src/mem/ruby/system/Sequencer.py 89cd8302abd3 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 
89cd8302abd3 
  src/mem/ruby/system/Sequencer.hh 89cd8302abd3 
  src/mem/ruby/system/Sequencer.cc 89cd8302abd3 
  src/mem/protocol/Network_test.slicc PRE-CREATION 
  src/mem/protocol/SConsopts 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 89cd8302abd3 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.py 89cd8302abd3 
  src/mem/protocol/Network_test-msg.sm PRE-CREATION 
  src/mem/protocol/Network_test-dir.sm PRE-CREATION 
  src/mem/protocol/Network_test-cache.sm PRE-CREATION 
  src/cpu/testers/networktest/networktest.cc PRE-CREATION 
  src/cpu/testers/networktest/SConscript PRE-CREATION 
  src/cpu/testers/networktest/networktest.hh PRE-CREATION 
  src/cpu/testers/networktest/NetworkTest.py PRE-CREATION 
  configs/ruby/Network_test.py PRE-CREATION 
  build_opts/ALPHA_SE_Network_test PRE-CREATION 
  configs/example/ruby_network_test.py PRE-CREATION 

Diff: http://reviews.m5sim.org/r/561/diff


Testing
---

Testing done with garnet and simple networks. I will update config assumptions 
etc on the wiki.


Thanks,

Tushar

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


[m5-dev] changeset in m5: SLICC: Remove WakeUp* import calls from ast/__i...

2011-03-20 Thread Nilay Vaish
changeset c1c6f36e118e in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=c1c6f36e118e
description:
SLICC: Remove WakeUp* import calls from ast/__init__.py
I had recently committed a patch that removed the WakeUp*.py files from 
the
slicc/ast directory. I had forgotten to remove the import  calls for 
these
files from slicc/ast/__init__.py. This resulted in error while running
regressions on zizzer. This patch does the needful.

diffstat:

 src/mem/slicc/ast/__init__.py |  2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diffs (9 lines):

diff -r 89cd8302abd3 -r c1c6f36e118e src/mem/slicc/ast/__init__.py
--- a/src/mem/slicc/ast/__init__.py Sat Mar 19 21:13:04 2011 -0700
+++ b/src/mem/slicc/ast/__init__.py Sun Mar 20 09:23:27 2011 -0500
@@ -74,5 +74,3 @@
 from slicc.ast.TypeFieldMethodAST import *
 from slicc.ast.TypeFieldStateAST import *
 from slicc.ast.VarExprAST import *
-from slicc.ast.WakeUpAllDependentsStatementAST import *
-from slicc.ast.WakeUpDependentsStatementAST import *
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Cron m5test@zizzer /z/m5/regression/do-regression --scratch all

2011-03-20 Thread Nilay Vaish
I had committed an error in one of the my recent patches. I have committed 
a patch that should fix this error.


--
Nilay

On Sun, 20 Mar 2011, Cron Daemon wrote:



See /z/m5/regression/regress-2011-03-20-03:00:01 for details.

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


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


Re: [m5-dev] Review Request: Ruby: Remove CacheMsg class from SLICC

2011-03-20 Thread Nilay Vaish

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

(Updated 2011-03-20 10:53:10.248023)


Review request for Default.


Summary (updated)
---

Ruby: Remove CacheMsg class from SLICC
The goal of the patch is to do away with the CacheMsg class currently in use
in coherence protocols. In place of CacheMsg, the RubyRequest class will used.
This class is already present in slicc_interface/RubyRequest.hh. In fact,
objects of class CacheMsg are generated by copying values from a RubyRequest
object.


Diffs (updated)
-

  src/mem/protocol/MESI_CMP_directory-L1cache.sm c1c6f36e118e 
  src/mem/protocol/MI_example-cache.sm c1c6f36e118e 
  src/mem/protocol/MOESI_CMP_directory-L1cache.sm c1c6f36e118e 
  src/mem/protocol/MOESI_CMP_token-L1cache.sm c1c6f36e118e 
  src/mem/protocol/MOESI_hammer-cache.sm c1c6f36e118e 
  src/mem/protocol/RubySlicc_Exports.sm c1c6f36e118e 
  src/mem/protocol/RubySlicc_Profiler.sm c1c6f36e118e 
  src/mem/protocol/RubySlicc_Types.sm c1c6f36e118e 
  src/mem/ruby/profiler/AddressProfiler.hh c1c6f36e118e 
  src/mem/ruby/profiler/AddressProfiler.cc c1c6f36e118e 
  src/mem/ruby/profiler/Profiler.hh c1c6f36e118e 
  src/mem/ruby/profiler/Profiler.cc c1c6f36e118e 
  src/mem/ruby/recorder/TraceRecord.cc c1c6f36e118e 
  src/mem/ruby/slicc_interface/RubyRequest.hh c1c6f36e118e 
  src/mem/ruby/slicc_interface/RubyRequest.cc c1c6f36e118e 
  src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh c1c6f36e118e 
  src/mem/ruby/slicc_interface/RubySlicc_Util.hh c1c6f36e118e 
  src/mem/ruby/system/CacheMemory.hh c1c6f36e118e 
  src/mem/ruby/system/CacheMemory.cc c1c6f36e118e 
  src/mem/ruby/system/DMASequencer.cc c1c6f36e118e 
  src/mem/ruby/system/RubyPort.cc c1c6f36e118e 
  src/mem/ruby/system/Sequencer.cc c1c6f36e118e 

Diff: http://reviews.m5sim.org/r/327/diff


Testing
---


Thanks,

Nilay

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


Re: [m5-dev] Review Request: Remove CacheMsg class from SLICC

2011-03-20 Thread Nilay Vaish

On Sat, 19 Mar 2011, Nilay Vaish wrote:


On Fri, 18 Mar 2011, Lisa Hsu wrote:

What's going on with this patch?  I don't believe it's been committed but 
it

seems like it should.  I've also got some patches waiting behind this
because they used to touch CacheMsg and I don't want to mess Nilay up, so
I've been waiting to serialize behind this.

Lisa



Lisa, the original patch was pretty long and after some of the changes that 
Brad submitted, almost the whole of the patch required rework. I have already 
committed some parts of the original patch. I have posted two more patches on 
the review board that cover some more portion of the patch. You can ignore 
the original patch. Assume that I will not post more patches that touch 
CacheMsg or related structures apart from the two that I posted 5 minutes 
ago.


--
Nilay



Lisa, I have updated the patch. If you want, you can commit your patches 
before I commit this.


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


[m5-dev] Review Request: sim: use nextCycle() for quiesceSkip function

2011-03-20 Thread Korey Sewell

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

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

sim: use nextCycle() for quiesceSkip function
the increment of curTick causes some compiler to complain on an assert in the 
event queue
scheduler. Since the code is only scheduling for the next cycle it seems safe 
to go ahead
and just use the cpu's function to trick the compiler. NOTE: this only comes up 
in opt/debug
builds since asserts are taken out of fast


Diffs
-

  src/sim/pseudo_inst.cc c1c6f36e118e 

Diff: http://reviews.m5sim.org/r/603/diff


Testing
---

This passed the simple-atomic, simple-timing, and o3 regressions tests for 
ARM_FS.


Thanks,

Korey

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


Re: [m5-dev] Review Request: cpu: split o3-specific parts out of BaseDynInst

2011-03-20 Thread Korey Sewell


 On 2011-03-03 20:41:09, Ali Saidi wrote:
  Please don't ship this until I have a chance to try it, I just want to make 
  sure it doesn't break ARM_FS/O3.
 
 Korey Sewell wrote:
 Sure, I'd welcome a go of things from some other folks to test if I 
 haven't introduced something quirky.
 
 After there is some commentary, I'll make sure to run the full 
 regressions before committing this because as we all know BaseDynInst is a 
 pretty fundamental part of M5.
 
 Also, I'll be posting an update to this diff soon that will make the 
 setInt/FloatRegOperand pure virtual (I mistakenly thought those were 
 templated member functions in the first go-round).
 
 Ali Saidi wrote:
 Anything happen with your update diff? If you could verify it passes the 
 arm/o3 full system regression I just committed and then I'll give it a go on 
 a bunch more tests.
 
 Korey Sewell wrote:
 Gabe made a good point about the virtual function overhead on the 
 commonly used set*Operand functions and I've just been waffling on whether to 
 even make those pure virtual or not.
 
 However, I'll go ahead and take a hard look at this again , run the 
 regressions, and post an update tomorrow so we can move on with this 
 potential change.
 
 Korey Sewell wrote:
 The ARM regressions pass with this patch. Feel free to do further testing.
 
 Ali Saidi wrote:
 What about the virtual function overhead?

This patch I posted didn't have any virtual functions in it. I was speculating 
whether or not we should add the pure virtual functions to solidify the DynInst 
interface.

I went ahead and added the virtual functions in a separate patch, ran the 
ARM_FS o3 regressions 2x on the same machine, and then took the inst/second 
from the generated m5 stat files:
o3-timing (current): 115133, 115406
o3-timing (this patch): 115011, 115709
o3-timing (this patch w/pure virtual functions on BaseDynInst 
read/set*Operands): 114368,113055

Although running something 2x isn't anything that could be called thorough, 
it looks like adding the virtual functions incurs a overhead of about 1K-2K 
inst/second, while the patch as currently constructed gives about the same 
performance as the code that doesn't split the o3-specific code out of 
BaseDynInst. 

Since few people actually work on the internals of the CPU models anyway, it's 
probably better to go with the patch submitted (pending further ARM-FS testing) 
than to sacrifice the small amount of performance for an interface that would 
rarely, if ever, be extended past the Inorder/O3 models.


- Korey


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/529/#review932
---


On 2011-03-01 13:49:24, Korey Sewell wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/529/
 ---
 
 (Updated 2011-03-01 13:49:24)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 cpu: split o3-specific parts out of BaseDynInst
 The bigger picture goal is that I want to get the InorderDynInst class 
 derived from the
 BaseDynInst, since there is no need to replicate a lot of useful code already 
 defined
 in BaseDynInst (e.g. microcode identification, etc.) and Inorder can take 
 advantage
 of common code that handles microcode and other features that other ISAs need.
 
 But to do this, there are a lot of o3-specific things that are in 
 BaseDynInst, that I pushed to
 O3DynInst in this patch. Book-keeping variables that handle the IQ,LSQ,ROB 
 are unnecessary in
 the base class but generic variables that will work across CPUs (IsSquashed, 
 IsCompleted, etc.)
 are kept in the base class.
 
 The upside is more consistency across the simple models (branch prediction 
 and instruction
 identification are all in one common place).
 
 I really wanted to define pure virtual functions for read/write(to memory) 
 and the
 setInt/FloatRegOperand, but virtual functions in a templated class is a 
 no-no and
 I couldn't get around that (suggestions?).
 
 Also, I'd rather not use the this- pointer all over the place to access 
 member variables of
 the templated Base class, but it had to be done.
 
 Other than those quirks, simulator functionality should stay the same as the 
 O3 Model always references
 the O3DynInst pointer and the InOrder model doesnt currently make use of the 
 base dyn inst. class.
 (but it will be easier to derive from now...)
 
 
 Diffs
 -
 
   src/cpu/base_dyn_inst.hh cf1afc88070f 
   src/cpu/base_dyn_inst_impl.hh cf1afc88070f 
   src/cpu/o3/dyn_inst.hh cf1afc88070f 
   src/cpu/o3/dyn_inst_impl.hh cf1afc88070f 
 
 Diff: http://reviews.m5sim.org/r/529/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Korey