[m5-dev] Parallel M5

2008-06-29 Thread nathan binkert
I'm nearly done with the first step of getting parallel M5 working. -- Add an EventQueue pointer to every SimObject and add schedule()/deschedule()/reschedule() functions to the Base SimObject to use that event queue pointer. -- Change all calls to event scheduling to use that EventQueue

[m5-dev] Parallel M5 Wiki Page

2008-06-29 Thread nathan binkert
I've created a wiki page with my plan for parallel M5 http://m5sim.org/wiki/index.php/Parallel_M5 Nate ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev

Re: [m5-dev] m5: 2 new changesets

2008-06-29 Thread nathan binkert
I'd actually like to see this changset go back in. It seems that all that needs to happen is that setPeer should delete the peer if it is a defaultPort. There are a couple of ways to do this: 1) Have setPeer call disconnect(), though I'm not clear on how the deletePort() thing is supposed to

Re: [m5-dev] Parallel M5

2008-06-29 Thread Ali Saidi
I vote for (1) until it can be shown that it matters. A single pointer doesn't seem like a big deal, especially since most of the things we create and destroy frequently aren't SimObjects but other classes. Ali On Jun 29, 2008, at 12:23 PM, nathan binkert wrote: I'm nearly done with the

[m5-dev] [PATCH] After a checkpoint (and thus a stats reset), the not_idle_fraction/notIdleFraction statistic is really wrong

2008-06-29 Thread Ali Saidi
# HG changeset patch # User Ali Saidi [EMAIL PROTECTED] # Date 1214782927 14400 # Node ID ada5724fbc53640aa6b85ba82e5a43d2e7a67092 # Parent d9de38fba64c204f5eb5ea87adb9b9c0c9e9c1c6 After a checkpoint (and thus a stats reset), the not_idle_fraction/notIdleFraction statistic is really wrong. The

[m5-dev] [PATCH 0 of 2] Fix cached virtPort use cached copy everywhere

2008-06-29 Thread Ali Saidi
___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev

[m5-dev] [PATCH 1 of 2] Make the cached virtPort have a thread context so it can do everything that a newly created one can

2008-06-29 Thread Ali Saidi
# HG changeset patch # User Ali Saidi [EMAIL PROTECTED] # Date 1214782929 14400 # Node ID 363df5ea90da6ff8283c0f3d9c29a4e26efbe4a5 # Parent 8f98b8f28e474fc98d16f5e3973b01a5f2b0a6ff Make the cached virtPort have a thread context so it can do everything that a newly created one can. diff --git

[m5-dev] [PATCH 2 of 2] Change everything to use the cached virtPort rather than created their own each time

2008-06-29 Thread Ali Saidi
# HG changeset patch # User Ali Saidi [EMAIL PROTECTED] # Date 1214783163 14400 # Node ID 1c93d818b049e51e3b86c123d3ad86a1555a467b # Parent 363df5ea90da6ff8283c0f3d9c29a4e26efbe4a5 Change everything to use the cached virtPort rather than created their own each time. This appears to work, but I

Re: [m5-dev] Parallel M5

2008-06-29 Thread nathan binkert
I vote for (1) until it can be shown that it matters. A single pointer doesn't seem like a big deal, especially since most of the things we create and destroy frequently aren't SimObjects but other classes. Showing that it matters is pretty hard unless you actually do it. A profile won't

Re: [m5-dev] [PATCH 2 of 2] Change everything to use the cached virtPort rather than created their own each time

2008-06-29 Thread Steve Reinhardt
On Sun, Jun 29, 2008 at 4:49 PM, Ali Saidi [EMAIL PROTECTED] wrote: one question is how to enforce encourage objects that call getVirtPort() to not cache the virtual port since if the CPU changes out from under them it will be worse than useless. Perhaps a null function like

Re: [m5-dev] [PATCH] After a checkpoint (and thus a stats reset), the not_idle_fraction/notIdleFraction statistic is really wrong

2008-06-29 Thread Ali Saidi
there is a status() accessor method, but nothing uses. It seems unnecessary to to have a method to read the a variable that only the object that contains that variable uses. Ali On Jun 29, 2008, at 7:45 PM, Ali Saidi wrote: # HG changeset patch # User Ali Saidi [EMAIL PROTECTED] # Date

Re: [m5-dev] [PATCH] After a checkpoint (and thus a stats reset), the not_idle_fraction/notIdleFraction statistic is really wrong

2008-06-29 Thread nathan binkert
there is a status() accessor method, but nothing uses. It seems unnecessary to to have a method to read the a variable that only the object that contains that variable uses. Why are you no longer serializing the status? Why is it confusing that both a port and a CPU have a status? There are

Re: [m5-dev] AtomicSimpleCPU putting all params into python

2008-06-29 Thread nathan binkert
The right thing to do is to either rely on the existing python framework, or move statements into the normal BaseCPU constructor. In this instance, I think the former is the correct answer since it's not exactly clear to me why those three variables must be set to null in C++. I think the issue

Re: [m5-dev] Parallel M5

2008-06-29 Thread Gabe Black
This is probably slightly off topic, but could you explain more specifically the synchronization event stuff you mention on the wiki page? It sounds interesting but I can't picture what you're describing. Gabe nathan binkert wrote: I vote for (1) until it can be shown that it matters. A