Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches

2010-01-15 Thread Steve Reinhardt
Thanks for getting these patches out, Brad.

On Thu, Jan 14, 2010 at 10:19 PM, Brad Beckmann brad.beckm...@amd.com wrote:
  - These patches do not remove the old ruby config and rubymem files.  
 However, once these patches are checked in, those old files won't be needed.  
 Anyone have an opinion on how long they would like those files to stick 
 around?  I would like to delete them as soon as we can.

I think these files should be deleted as soon as they are no longer
needed... i.e., go back in the patch queue to the patch where we stop
needing them to compile and run and do the 'hg rm' as part of that
patch.  I didn't do that sooner since it's a little more convenient to
just look at the file than to go back in the hg history, but now that
we have all these patches finished, there's no need to keep them
around, and no point in having patches to delete them that are
separate from the changeset where we logically stopped needing them.

  - There are a few places where the block offset (i.e. the l2_select_low_bit) 
 is defaulted to 6 assuming 64-byte cache blocks.  I would like to instead 
 take the log2 of RubySystem's block_size_bytes parameter, however the 
 following code will not work:
 l2_select_low_bit = Param.Int(math.log((Param.RubySystem(Parent.any, block 
 offset)).block_size_bytes, 2), )
 I would be interested to hear any suggestions people have to make something 
 like this work.

Unless there's ever a reason why a user would want to set this low bit
to something other than the log2 of the block size, then this value
should just be calculated in C++, in my opinion.

The reason it doesn't work is because math operations on proxy values
have to be explicitly supported in the proxy code, and log isn't one
that we support.  (Actually I'm not sure it's possible to support
function calls on proxies, just operators.)  In theory we could add
support for exp or log on proxies (if we defined an operator) but it
would be easier to move it to C++ unless there's a real need here.

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


Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches

2010-01-15 Thread nathan binkert
  - These patches do not remove the old ruby config and rubymem files.  
 However, once these patches are checked in, those old files won't be needed.  
 Anyone have an opinion on how long they would like those files to stick 
 around?  I would like to delete them as soon as we can.

Why not delete them now?

  - There are a few places where the block offset (i.e. the l2_select_low_bit) 
 is defaulted to 6 assuming 64-byte cache blocks.  I would like to instead 
 take the log2 of RubySystem's block_size_bytes parameter, however the 
 following code will not work:
 l2_select_low_bit = Param.Int(math.log((Param.RubySystem(Parent.any, block 
 offset)).block_size_bytes, 2), )
 I would be interested to hear any suggestions people have to make something 
 like this work.

Param.foo is not a value, so you can't do stuff like this to it.
Parent.any is a proxy class and we've defined some mathematical
operations for it.  We could consider defining others.  Alternatively,
we could try to support some sort of method invocation as a value.


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


Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches

2010-01-15 Thread nathan binkert
 Unless there's ever a reason why a user would want to set this low bit
 to something other than the log2 of the block size, then this value
 should just be calculated in C++, in my opinion.
I would agree with this.

 The reason it doesn't work is because math operations on proxy values
 have to be explicitly supported in the proxy code, and log isn't one
 that we support.  (Actually I'm not sure it's possible to support
 function calls on proxies, just operators.)  In theory we could add
 support for exp or log on proxies (if we defined an operator) but it
 would be easier to move it to C++ unless there's a real need here.

Yep.

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


Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches

2010-01-15 Thread Beckmann, Brad
I failed to mention earlier that the parameter is used in the protocol files so 
it isn't just simple C++.  However, it is simple enough to make SLICC generate 
the correct C++ since RubySystem has static functions that provide the block 
size bits.  Once these functions are no longer static, the SLICC solution is a 
little more complicated, but I got something in mind that should work.  
Consider the problem resolved.

Brad

 -Original Message-
 From: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On
 Behalf Of nathan binkert
 Sent: Friday, January 15, 2010 11:53 AM
 To: M5 Developer List
 Subject: Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches
 
  Unless there's ever a reason why a user would want to set this low
 bit
  to something other than the log2 of the block size, then this value
  should just be calculated in C++, in my opinion.
 I would agree with this.
 
  The reason it doesn't work is because math operations on proxy values
  have to be explicitly supported in the proxy code, and log isn't one
  that we support.  (Actually I'm not sure it's possible to support
  function calls on proxies, just operators.)  In theory we could add
  support for exp or log on proxies (if we defined an operator) but it
  would be easier to move it to C++ unless there's a real need here.
 
 Yep.
 
   Nate
 ___
 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] [PATCH 00 of 41] Ruby Config Updated Patches

2010-01-15 Thread Beckmann, Brad
The main reason not to delete the old config files now is libruby has yet to be 
updated.  I wanted to hear Derek and others opinion before I removed the files.

Brad


 -Original Message-
 From: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On
 Behalf Of nathan binkert
 Sent: Friday, January 15, 2010 11:52 AM
 To: M5 Developer List
 Subject: Re: [m5-dev] [PATCH 00 of 41] Ruby Config Updated Patches
 
   - These patches do not remove the old ruby config and rubymem files.
  However, once these patches are checked in, those old files won't be
 needed.  Anyone have an opinion on how long they would like those files
 to stick around?  I would like to delete them as soon as we can.
 
 Why not delete them now?
 
   - There are a few places where the block offset (i.e. the
 l2_select_low_bit) is defaulted to 6 assuming 64-byte cache blocks.  I
 would like to instead take the log2 of RubySystem's block_size_bytes
 parameter, however the following code will not work:
  l2_select_low_bit = Param.Int(math.log((Param.RubySystem(Parent.any,
 block offset)).block_size_bytes, 2), )
  I would be interested to hear any suggestions people have to make
 something like this work.
 
 Param.foo is not a value, so you can't do stuff like this to it.
 Parent.any is a proxy class and we've defined some mathematical
 operations for it.  We could consider defining others.  Alternatively,
 we could try to support some sort of method invocation as a value.
 
 
   Nate
 ___
 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


[m5-dev] Cron m5t...@zizzer /z/m5/regression/do-regression quick

2010-01-15 Thread Cron Daemon
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/inorder-timing 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-atomic passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-atomic-ruby 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/o3-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-timing-ruby 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/o3-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-atomic passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-atomic-ruby 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-timing-ruby 
passed.
* build/ALPHA_SE/tests/fast/quick/01.hello-2T-smt/alpha/linux/o3-timing 
passed.
* build/ALPHA_SE/tests/fast/quick/20.eio-short/alpha/eio/simple-atomic 
passed.
* build/ALPHA_SE/tests/fast/quick/30.eio-mp/alpha/eio/simple-atomic-mp 
passed.
* build/ALPHA_SE/tests/fast/quick/20.eio-short/alpha/eio/simple-timing 
passed.
* build/ALPHA_SE/tests/fast/quick/30.eio-mp/alpha/eio/simple-timing-mp 
passed.
* build/ALPHA_SE/tests/fast/quick/50.memtest/alpha/linux/memtest passed.
* build/ALPHA_SE/tests/fast/quick/50.memtest/alpha/linux/memtest-ruby 
passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic 
passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
 passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
 passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-timing 
passed.
* 
build/ALPHA_FS/tests/fast/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
 passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/inorder-timing passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/o3-timing passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-atomic passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-atomic-ruby 
passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-timing passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-timing-ruby 
passed.
* build/POWER_SE/tests/fast/quick/00.hello/power/linux/o3-timing passed.
* build/POWER_SE/tests/fast/quick/00.hello/power/linux/simple-atomic passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-atomic passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-atomic-ruby 
passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-timing passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-timing-ruby 
passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/o3-timing passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-atomic 
passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-timing 
passed.
* 
build/SPARC_SE/tests/fast/quick/40.m5threads-test-atomic/sparc/linux/o3-timing-mp
 passed.
* 
build/SPARC_SE/tests/fast/quick/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp
 passed.
* 
build/SPARC_SE/tests/fast/quick/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp-ruby
 passed.
* 
build/SPARC_SE/tests/fast/quick/40.m5threads-test-atomic/sparc/linux/simple-timing-mp
 passed.
* build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-atomic-ruby 
passed.
* build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-atomic passed.
* build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-timing passed.
* build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-timing-ruby 
passed.
* build/ARM_SE/tests/fast/quick/00.hello/arm/linux/simple-atomic passed.

See /z/m5/regression/regress-2010-01-16-03:00:01 for details.

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