Re: [m5-dev] [m5-users] Tracing does not work
I think the reason those wouldn't be renamed is that you're only outputing something you could put in a file (in the traditional sense) if you're tracing. If you're turning on/off some other functionality like a debug breakpoint you're not tracing, you're debugging. It gets a little confusing, I think, because we're so used to thinking about using it for tracing and there aren't really true debug flags at the moment. Gabe On 05/07/11 15:15, Joel Hestness wrote: > Hey guys, > I wasn't sure what the intended outcome with tracing v. debugging was > going to be. It sounds like the move is to "debug" as a more general term, > though it will support all of the "trace" functionality. In that case, my > confusion arose from the naming of the flags. Since "trace-file" and > "trace-start" now go along with the other debug flags (i.e. you wouldn't use > them unless you're using the debug flags), it probably makes sense to change > the names to reflect the connection. For instance, "debug-trace-file" and > "debug-trace-start" are clearer and still reflect that you'll be collecting > a trace. > Joel > > >> I was thinking og doing it since Nate is not around. I'll do it soon. >> >> instance, "trace-flags", and "trace-file" are still accepted, but they don't do anything now. They should be eliminated from the message. We're >> also missing the equivalent of "trace-start" and "trace-file". Do you mind cleaning that up? >> Are you sure that trace-file doesn't work? I've basically renamed >> --trace-help to --debug-help, so the former can be removed. Also I've >> renamed --trace-flags to --debug-flags, so that one can be removed >> too. (I intended to, I just screwed up.) The purpose of renaming >> trace flags to debug flags is that the flags themselves can be used >> for a lot more than tracing (I'm starting to use them to insert >> debugging breakpoints, they're used for exec trace which is really a >> different tracing facility, they can be used for whatever) and it >> seemed odd to have two different classes of flags (though we could do >> that if we wanted to). >> >> The only error that I know of right now is that --trace-help and >> --trace-flags still exist and silently act when they shouldn't. I'm >> compiling right now, but things are slow on my laptop. I'll test out >> --trace-file, but I'm not sure why that would have changed at all. >> >> 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] changeset in m5: NetworkTest: added sim_cycles parameter to the ...
changeset db269e704d07 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=db269e704d07 description: NetworkTest: added sim_cycles parameter to the network tester. The network tester terminates after injecting for sim_cycles (default=1000), instead of having to explicitly pass --maxticks from the command line as before. If fixed_pkts is enabled, the tester only injects maxpackets number of packets, else it keeps injecting till sim_cycles. The tester also works with zero command line arguments now. diffstat: configs/example/ruby_network_test.py | 5 src/cpu/testers/networktest/NetworkTest.py | 1 + src/cpu/testers/networktest/networktest.cc | 32 - src/cpu/testers/networktest/networktest.hh | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diffs (144 lines): diff -r 0990d8c19b64 -r db269e704d07 configs/example/ruby_network_test.py --- a/configs/example/ruby_network_test.py Sat May 07 17:28:15 2011 -0400 +++ b/configs/example/ruby_network_test.py Sat May 07 17:43:30 2011 -0400 @@ -61,6 +61,9 @@ help="Number of digits of precision after decimal point\ for injection rate") +parser.add_option("--sim-cycles", type="int", default=1000, + help="Number of simulation cycles") + parser.add_option("--fixed-pkts", action="store_true", help="Network_test: send only -p number of packets") @@ -88,8 +91,10 @@ % (options.num_cpus, block_size) sys.exit(1) + cpus = [ NetworkTest(fixed_pkts=options.fixed_pkts, \ max_packets=options.maxpackets, \ + sim_cycles=options.sim_cycles, \ traffic_type=options.synthetic, \ inj_rate=options.injectionrate, \ precision=options.precision, \ diff -r 0990d8c19b64 -r db269e704d07 src/cpu/testers/networktest/NetworkTest.py --- a/src/cpu/testers/networktest/NetworkTest.pySat May 07 17:28:15 2011 -0400 +++ b/src/cpu/testers/networktest/NetworkTest.pySat May 07 17:43:30 2011 -0400 @@ -34,6 +34,7 @@ block_offset = Param.Int(6, "block offset in bits") num_memories = Param.Int(1, "Num Memories") memory_size = Param.Int(65536, "memory size") +sim_cycles = Param.Int(1000, "Number of simulation cycles") fixed_pkts = Param.Bool(False, "Send fixed number of packets") max_packets = Param.Counter(0, "Number of packets to send when in fixed_pkts mode") traffic_type = Param.Counter(0, "Traffic type: uniform random, tornado, bit complement") diff -r 0990d8c19b64 -r db269e704d07 src/cpu/testers/networktest/networktest.cc --- a/src/cpu/testers/networktest/networktest.ccSat May 07 17:28:15 2011 -0400 +++ b/src/cpu/testers/networktest/networktest.ccSat May 07 17:43:30 2011 -0400 @@ -103,13 +103,10 @@ void NetworkTest::sendPkt(PacketPtr pkt) { -if (cachePort.sendTiming(pkt)) { -numPacketsSent++; -accessRetry = false; -} else { -accessRetry = true; -retryPkt = pkt; +if (!cachePort.sendTiming(pkt)) { +retryPkt = pkt; // RubyPort will retry sending } +numPacketsSent++; } NetworkTest::NetworkTest(const Params *p) @@ -120,6 +117,7 @@ size(p->memory_size), blockSizeBits(p->block_offset), numMemories(p->num_memories), + simCycles(p->sim_cycles), fixedPkts(p->fixed_pkts), maxPackets(p->max_packets), trafficType(p->traffic_type), @@ -135,8 +133,6 @@ id = TESTER_NETWORK++; DPRINTF(NetworkTest,"Config Created: Name = %s , and id = %d\n", name(), id); - -accessRetry = false; } Port * @@ -174,19 +170,11 @@ void NetworkTest::tick() { -if (!tickEvent.scheduled()) -schedule(tickEvent, curTick() + ticks(1)); - if (++noResponseCycles >= 50) { cerr << name() << ": deadlocked at cycle " << curTick() << endl; fatal(""); } -if (accessRetry) { -sendPkt(retryPkt); -return; -} - // make new request based on injection rate // (injection rate's range depends on precision) // - generate a random number between 0 and 10^precision @@ -209,6 +197,14 @@ generatePkt(); } } + +// Schedule wakeup +if (curTick() >= simCycles) +exitSimLoop("Network Tester completed simCycles"); +else { +if (!tickEvent.scheduled()) +schedule(tickEvent, curTick() + ticks(1)); +} } void @@ -216,8 +212,7 @@ { unsigned destination = id; if (trafficType == 0) { // Uniform Random -while (destination == id) -destination = random() % numMemories; +destination = random() % numMemories; } else if (trafficType == 1) { // Tornado int networkDimension = (int) sqrt(numMemories); int my_x = id%networkDimen
Re: [m5-dev] [m5-users] Tracing does not work
Hey guys, I wasn't sure what the intended outcome with tracing v. debugging was going to be. It sounds like the move is to "debug" as a more general term, though it will support all of the "trace" functionality. In that case, my confusion arose from the naming of the flags. Since "trace-file" and "trace-start" now go along with the other debug flags (i.e. you wouldn't use them unless you're using the debug flags), it probably makes sense to change the names to reflect the connection. For instance, "debug-trace-file" and "debug-trace-start" are clearer and still reflect that you'll be collecting a trace. Joel > I was thinking og doing it since Nate is not around. I'll do it soon. > > > >> instance, "trace-flags", and "trace-file" are still accepted, but they > >> don't > >> do anything now. They should be eliminated from the message. We're > also > >> missing the equivalent of "trace-start" and "trace-file". Do you mind > >> cleaning that up? > > Are you sure that trace-file doesn't work? I've basically renamed > --trace-help to --debug-help, so the former can be removed. Also I've > renamed --trace-flags to --debug-flags, so that one can be removed > too. (I intended to, I just screwed up.) The purpose of renaming > trace flags to debug flags is that the flags themselves can be used > for a lot more than tracing (I'm starting to use them to insert > debugging breakpoints, they're used for exec trace which is really a > different tracing facility, they can be used for whatever) and it > seemed odd to have two different classes of flags (though we could do > that if we wanted to). > > The only error that I know of right now is that --trace-help and > --trace-flags still exist and silently act when they shouldn't. I'm > compiling right now, but things are slow on my laptop. I'll test out > --trace-file, but I'm not sure why that would have changed at all. > > Nate > ___ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev > -- Joel Hestness PhD Student, Computer Architecture Dept. of Computer Science, University of Texas - Austin http://www.cs.utexas.edu/~hestness ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
[m5-dev] changeset in m5: network: added Torus and Pt2Pt topologies
changeset 0990d8c19b64 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=0990d8c19b64 description: network: added Torus and Pt2Pt topologies diffstat: src/mem/ruby/network/topologies/Pt2Pt.py | 55 + src/mem/ruby/network/topologies/SConscript |3 +- src/mem/ruby/network/topologies/Torus.py | 122 + 3 files changed, 179 insertions(+), 1 deletions(-) diffs (195 lines): diff -r a6363c870af6 -r 0990d8c19b64 src/mem/ruby/network/topologies/Pt2Pt.py --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/src/mem/ruby/network/topologies/Pt2Pt.py Sat May 07 17:28:15 2011 -0400 @@ -0,0 +1,55 @@ +# Copyright (c) 2011 Advanced Micro Devices, Inc. +# 2011 Massachusetts Institute of Technology +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Authors: Brad Beckmann +# Tushar Krishna + +from m5.params import * +from m5.objects import * + +class Pt2Pt(Topology): +description='Pt2Pt' + +def makeTopology(nodes, options, IntLink, ExtLink, Router): +# Create an individual router for each controller, and connect all to all. +routers = [Router(router_id=i) for i in range(len(nodes))] +ext_links = [ExtLink(link_id=i, ext_node=n, int_node=routers[i]) + for (i, n) in enumerate(nodes)] +link_count = len(nodes) + +int_links = [] +for i in xrange(len(nodes)): +for j in xrange(len(nodes)): +if (i != j): +link_count += 1 +int_links.append(IntLink(link_id=link_count, + node_a=routers[i], + node_b=routers[j])) + +return Pt2Pt(ext_links=ext_links, + int_links=int_links, + routers=routers) diff -r a6363c870af6 -r 0990d8c19b64 src/mem/ruby/network/topologies/SConscript --- a/src/mem/ruby/network/topologies/SConscriptSat May 07 07:38:36 2011 -0500 +++ b/src/mem/ruby/network/topologies/SConscriptSat May 07 17:28:15 2011 -0400 @@ -36,4 +36,5 @@ PySource('', 'Crossbar.py') PySource('', 'Mesh.py') PySource('', 'MeshDirCorners.py') - +PySource('', 'Pt2Pt.py') +PySource('', 'Torus.py') diff -r a6363c870af6 -r 0990d8c19b64 src/mem/ruby/network/topologies/Torus.py --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/src/mem/ruby/network/topologies/Torus.py Sat May 07 17:28:15 2011 -0400 @@ -0,0 +1,122 @@ +# Copyright (c) 2011 Advanced Micro Devices, Inc. +# 2011 Massachusetts Institute of Technology +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHAL
Re: [m5-dev] [m5-users] Tracing does not work
> I was thinking og doing it since Nate is not around. I'll do it soon. >> instance, "trace-flags", and "trace-file" are still accepted, but they >> don't >> do anything now. They should be eliminated from the message. We're also >> missing the equivalent of "trace-start" and "trace-file". Do you mind >> cleaning that up? Are you sure that trace-file doesn't work? I've basically renamed --trace-help to --debug-help, so the former can be removed. Also I've renamed --trace-flags to --debug-flags, so that one can be removed too. (I intended to, I just screwed up.) The purpose of renaming trace flags to debug flags is that the flags themselves can be used for a lot more than tracing (I'm starting to use them to insert debugging breakpoints, they're used for exec trace which is really a different tracing facility, they can be used for whatever) and it seemed odd to have two different classes of flags (though we could do that if we wanted to). The only error that I know of right now is that --trace-help and --trace-flags still exist and silently act when they shouldn't. I'm compiling right now, but things are slow on my laptop. I'll test out --trace-file, but I'm not sure why that would have changed at all. Nate ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
Re: [m5-dev] Adding m5 debug statements to SLICC
Thanks for the response Nilay. DPRINTF works, but I'm talking about say a "warn" or "warn_once" m5 debug statement. Or even an "inform" or "panic". I guess error is similar to panic (maybe it should be changed to use m5's panic?). So the question is, if I want to add some other debug function, where do I add this? I think I may have figured this out: There is a src/mem/protocol/RubySlicc_Util.sm file that list functions that are used. then there is a src/mem/slicc_interface/RubySlicc_Includes.hh file where you can bring in functions that will go to Slicc. I think this type of information will be nice to go in the SLICC Internals section in the documentation. On Sat, May 7, 2011 at 9:23 AM, Nilay Vaish wrote: > Koreay, DPRINTF already works in sm files. Use RubySlicc as the flag. You > can also use error() and assert() functions which have the following > prototypes -- > > void error(std::string msg); > void assert(bool condition); > > -- > Nilay > > > On Fri, 6 May 2011, Korey Sewell wrote: > > I guess I should rephrase this question to this: >> What's the best way to expose a new function to be used in the *.sm SLICC >> files? >> >> On Fri, May 6, 2011 at 3:26 AM, Korey Sewell wrote: >> >> Hi all, >>> I'm trying to drop in warn/inform/panic/dprintf/etc messages into the >>> SLICC >>> files because these functions are pretty invaluable to the being able to >>> validate, debug and document what's going on in your simulation, but I >>> have >>> not been able to get them to work inside a SLICC .sm file. >>> >>> I was hoping that I could place a "base/misc.hh" header file somewhere >>> and >>> magic would ensue but that was not the case :) >>> >>> Instead, it looks like I would have to add my own detection functions for >>> warn/inform/etc. in the SLICC parser, so that when I call those functions >>> in >>> the code, it will recognize it. >>> >>> I am wondering if anyone has had a similar problem like this (in terms of >>> adding random C++ code to a *.sm file) and if so can you give me your >>> perspective on what I would need to do get this working in SLICC. Is this >>> functionality already there in SLICC and I'm just missing something? >>> >>> The current error I receive is this: >>> Exception: MOESI_CMP_directory-L2cache.sm:973: Error: Unrecognized >>> function >>> name: 'warn': >>> File "/y/ksewell/m5-dev/m5-outgoing/SConstruct", line 1025: >>> ... >>> File "/y/ksewell/m5-dev/m5-incoming/src/mem/slicc/ast/AST.py", line 50: >>>self.location.error(message, *args) >>> File "/y/ksewell/m5-dev/m5-incoming/src/mem/slicc/util.py", line 72: >>>raise Exception, "%s: Error: %s" % (self, message) >>> >>> >>> I think this is pretty high utility, so if it's not going to be a >>> "programming adventure", I'd like to go ahead and spend time to get it >>> working. If anyone has any thoughts or suggestions, please let me know >>> what >>> you think. >>> >>> Thanks. >>> >>> -- >>> - Korey >>> >>> >> >> >> -- >> - Korey >> ___ >> 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 > -- - Korey ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
Re: [m5-dev] Adding m5 debug statements to SLICC
Koreay, DPRINTF already works in sm files. Use RubySlicc as the flag. You can also use error() and assert() functions which have the following prototypes -- void error(std::string msg); void assert(bool condition); -- Nilay On Fri, 6 May 2011, Korey Sewell wrote: I guess I should rephrase this question to this: What's the best way to expose a new function to be used in the *.sm SLICC files? On Fri, May 6, 2011 at 3:26 AM, Korey Sewell wrote: Hi all, I'm trying to drop in warn/inform/panic/dprintf/etc messages into the SLICC files because these functions are pretty invaluable to the being able to validate, debug and document what's going on in your simulation, but I have not been able to get them to work inside a SLICC .sm file. I was hoping that I could place a "base/misc.hh" header file somewhere and magic would ensue but that was not the case :) Instead, it looks like I would have to add my own detection functions for warn/inform/etc. in the SLICC parser, so that when I call those functions in the code, it will recognize it. I am wondering if anyone has had a similar problem like this (in terms of adding random C++ code to a *.sm file) and if so can you give me your perspective on what I would need to do get this working in SLICC. Is this functionality already there in SLICC and I'm just missing something? The current error I receive is this: Exception: MOESI_CMP_directory-L2cache.sm:973: Error: Unrecognized function name: 'warn': File "/y/ksewell/m5-dev/m5-outgoing/SConstruct", line 1025: ... File "/y/ksewell/m5-dev/m5-incoming/src/mem/slicc/ast/AST.py", line 50: self.location.error(message, *args) File "/y/ksewell/m5-dev/m5-incoming/src/mem/slicc/util.py", line 72: raise Exception, "%s: Error: %s" % (self, message) I think this is pretty high utility, so if it's not going to be a "programming adventure", I'd like to go ahead and spend time to get it working. If anyone has any thoughts or suggestions, please let me know what you think. Thanks. -- - Korey -- - Korey ___ 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: Correctly set access permissions for directory entries
Korey, I don't think there will be any change in the simulation performance. I am not sure about stats. Brad, were the stats updated after you made the change? -- Nilay On Fri, 6 May 2011, Korey Sewell wrote: Nilay, can you explain the impact of that bug in terms of simulation performance? Are benchmarks running slower because of this change? Will regressions need to be updated? On Fri, May 6, 2011 at 8:13 PM, Beckmann, Brad wrote: Hi Nilay, Yeah, pulling the State into the Machine makes sense to me. If I recall, my previous patch made it necessary that each machine included a state_declaration (previously the state enum). More tightly integrating the state to the machine seems to be a natural progression on that path. I understand moving the permission settings back to setState is the easiest way to make this work. However, it would be great if we could combine the setting of state and the setting of permission into one function call from the sm file. Thus we don't have to worry about the situation where one sets the state, but forgets to set the permission. That could lead to some random functional access failing and a very painful debug. Brad ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
Re: [m5-dev] [m5-users] Tracing does not work
Joel, I have pushed in the patch the removes the options trace-help and trace-flags. But trace-start and trace-file work as before. You can use them in conjunction with debug-flags. -- Nilay On Fri, 6 May 2011, Nilay Vaish wrote: I was thinking og doing it since Nate is not around. I'll do it soon. -- Nilay On Fri, 6 May 2011, Joel Hestness wrote: Hey Nilay, It looks like the tracing ("debug") functionality is now working again, but the M5 help message is still incorrect (and extremely misleading). For instance, "trace-flags", and "trace-file" are still accepted, but they don't do anything now. They should be eliminated from the message. We're also missing the equivalent of "trace-start" and "trace-file". Do you mind cleaning that up? Thanks, Joel PS. I haven't followed the tracing/debugging thread closely enough, but it seems like "trace" and "debug" should be different things (though they are currently implemented as the same thing). Is there a reason why we moved over to "debug"? ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
[m5-dev] changeset in m5: Trace: Remove the options trace-help and trace-...
changeset a6363c870af6 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=a6363c870af6 description: Trace: Remove the options trace-help and trace-flags The options trace-help and trace-flags are no longer required. In there place, the options debug-help and debug-flags have been provided. diffstat: src/python/m5/main.py | 4 1 files changed, 0 insertions(+), 4 deletions(-) diffs (14 lines): diff -r 3c628a51f6e1 -r a6363c870af6 src/python/m5/main.py --- a/src/python/m5/main.py Fri May 06 01:00:32 2011 -0700 +++ b/src/python/m5/main.py Sat May 07 07:38:36 2011 -0500 @@ -106,10 +106,6 @@ # Tracing options group("Trace Options") -option("--trace-help", action='store_true', -help="Print help on trace flags") -option("--trace-flags", metavar="FLAG[,FLAG]", action='append', split=',', -help="Sets the flags for tracing (-FLAG disables a flag)") option("--trace-start", metavar="TIME", type='int', help="Start tracing at TIME (must be in ticks)") option("--trace-file", metavar="FILE", default="cout", ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
[m5-dev] Cron /z/m5/regression/do-regression quick
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/inorder-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/01.hello-2T-smt/alpha/linux/o3-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby passed. * build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/30.eio-mp/alpha/eio/simple-atomic-mp passed. * build/ALPHA_SE/tests/opt/quick/30.eio-mp/alpha/eio/simple-timing-mp passed. * build/ALPHA_SE/tests/opt/quick/50.memtest/alpha/linux/memtest passed. * build/ALPHA_SE/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby passed. * build/ALPHA_SE/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_token passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing passed. * build/ALPHA_FS/tests/opt/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic passed. * build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/inorder-timing passed. * build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/o3-timing passed. * build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-atomic passed. * build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-timing passed. * build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-timing-ruby passed. * build/POWER_SE/tests/opt/quick/00.hello/power/linux/o3-timing passed. * build/POWER_SE/tests/opt/quick/00.hello/power/linux/simple-atomic passed. * build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-atomic passed. * build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-timing passed. * build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-timing-ruby passed. * build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/o3-timing passed. * build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/simple-atomic passed. * build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/simple-timing passed. * build/SPARC_SE/tests/opt/quick/40.m5threads-test-atomic/sparc/linux/o3-timing-mp passed. * build/SPARC_SE/tests/opt/quick/40.m5threads-test-atomic/sparc/l