i think the convention is any acronym should be all caps, but I'm not sure.
2008/10/24 Lisa Hsu <[EMAIL PROTECTED]>: > what do we all like better, cpuID/contextID, or cpuId/contextId? > > lisa > > On Fri, Oct 24, 2008 at 6:07 PM, nathan binkert <[EMAIL PROTECTED]> wrote: >> >> The BIOS identifies all of the CPUs to the OS, but the arrangement is >> deduced by the OS I believe. >> >> Nate >> >> 2008/10/24 Lisa Hsu <[EMAIL PROTECTED]>: >> > where does this reporting to linux happen? >> > >> > On Fri, Oct 24, 2008 at 5:53 PM, nathan binkert <[EMAIL PROTECTED]> >> > wrote: >> >> >> >> The OS interface to that doesn't work that way. Linux for example >> >> treats all threads and cores and such as different CPUs, it just knows >> >> that certain CPUs share certain resources. i.e. it uses one global id >> >> and just has extra knowledge about how things interact in the >> >> scheduler. >> >> >> >> So, each global context ID should be reported as a separate CPU to >> >> linux. Any actual coreID (maybe that's a better name) or cpuID or >> >> threadID would be only used in the simulator >> >> >> >> Nate >> >> >> >> On Fri, Oct 24, 2008 at 2:50 PM, Korey Sewell <[EMAIL PROTECTED]> >> >> wrote: >> >> > I do think a thread ID per core is necessary as you need to give OS's >> >> > the ability to assign to a specific thread in a core and not treat >> >> > all >> >> > SMT cores as a separate CPU in every case. >> >> > >> >> > On Fri, Oct 24, 2008 at 5:47 PM, nathan binkert <[EMAIL PROTECTED]> >> >> > wrote: >> >> >> I'd say that a globally unique contextID is critical. A threadID >> >> >> that >> >> >> is per core can of course be created if necessary, but I bet that in >> >> >> most instances, we can just pass pointers around. >> >> >> >> >> >> Nate >> >> >> >> >> >>> I mostly agree with this, except that it might be tricky to use the >> >> >>> context ID t >> >> >>> index into a vector of thread contexts when the numbering doesn't >> >> >>> start over for >> >> >>> each CPU. Other than that it looks like we're strictly getting >> >> >>> closer >> >> >>> to the >> >> >>> right answer at least. >> >> >>> >> >> >>> Gabe >> >> >>> >> >> >>> Quoting Lisa Hsu <[EMAIL PROTECTED]>: >> >> >>> >> >> >>>> yes, that's what i mean. >> >> >>>> >> >> >>>> believe it or not, right now if you run se.py -n4, all four cpus >> >> >>>> get >> >> >>>> cpuId = >> >> >>>> 0 (regardless of which cpu type you use). talk about broken. >> >> >>>> >> >> >>>> and from now on, getCpuId() should pretty much only be used for >> >> >>>> things like >> >> >>>> stats, or as a secondary identifier, the primary thing to care >> >> >>>> about >> >> >>>> is the >> >> >>>> HW context ID. >> >> >>>> >> >> >>>> On Fri, Oct 24, 2008 at 4:51 PM, Korey Sewell <[EMAIL PROTECTED]> >> >> >>>> wrote: >> >> >>>> >> >> >>>> > Are you saying make a distinction between the cpu ID and the >> >> >>>> > actual >> >> >>>> > hardware context ID? This is something definitely needed. >> >> >>>> > >> >> >>>> > I think this is what you describe below... I'm seeing something >> >> >>>> > where >> >> >>>> > there is a: >> >> >>>> > getCpuId() and a getContext() function. >> >> >>>> > >> >> >>>> > On a 2-way SMT system with 1 CPU... >> >> >>>> > process0->getCpuId() = 0 >> >> >>>> > process0->getContext() = 0 >> >> >>>> > process1->getCpuId() = 0 >> >> >>>> > process1->getContext() = 1 >> >> >>>> > >> >> >>>> > but with a 2-CPU system , No-SMT... >> >> >>>> > process0->getCpuId() = 0 >> >> >>>> > process0->getContext() = 0 >> >> >>>> > process1->getCpuId() = 1 >> >> >>>> > process1->getContext() = 1 >> >> >>>> > >> >> >>>> > and finally, a 2-way SMT, 2-cpu system... >> >> >>>> > process0->getCpuId() = 0 >> >> >>>> > process0->getContext() = 0 >> >> >>>> > process1->getCpuId() = 0 >> >> >>>> > process1->getContext() = 1 >> >> >>>> > process2->getCpuId() = 1 >> >> >>>> > process2->getContext() = 2 >> >> >>>> > process3->getCpuId() = 1 >> >> >>>> > process3->getContext() = 3 >> >> >>>> > >> >> >>>> > Is this what you describe, by all means all systems go! >> >> >>>> > >> >> >>>> > 2008/10/24 Lisa Hsu <[EMAIL PROTECTED]>: >> >> >>>> > > Hi All, >> >> >>>> > > >> >> >>>> > > In case you haven't guessed it, I'm hacking on M5 once again. >> >> >>>> > > I've >> >> >>>> > noticed >> >> >>>> > > recently that there is a big hot mess when it comes to >> >> >>>> > > identification >> >> >>>> > > mechanisms for CPUs, threads, and contexts. Alternately all >> >> >>>> > > contexts are >> >> >>>> > > assumed to be separate CPUs (which is wrong when there is >> >> >>>> > > SMT), >> >> >>>> > > vs times >> >> >>>> > > when CPUs are CPUs and threads are subsets of certain CPUs >> >> >>>> > > such >> >> >>>> > > that a >> >> >>>> > > system can have names like CPU0,T0; CPU,T1; CPU1,T0; CPU1,T1, >> >> >>>> > > etc. >> >> >>>> > > >> >> >>>> > > I talked about it with Steve today and here's what I propose, >> >> >>>> > > let >> >> >>>> > > me know >> >> >>>> > if >> >> >>>> > > you object. >> >> >>>> > > >> >> >>>> > > All CPUs with have an ID, but this will not be a primary >> >> >>>> > > context >> >> >>>> > > identification mechanism. In other words, in many places >> >> >>>> > > where >> >> >>>> > > tc->getCpuId() is used in order to index into a threadContexts >> >> >>>> > > vector, it >> >> >>>> > > will be changed so that tc->getIdentifier() will give back >> >> >>>> > > something >> >> >>>> > unique >> >> >>>> > > across the system. >> >> >>>> > > >> >> >>>> > > The primary context identification mechanism will be a >> >> >>>> > > system-wide >> >> >>>> > context >> >> >>>> > > id-value. That means in a 2 CPU 2 thread SMT system, you will >> >> >>>> > > have >> >> >>>> > > system-wide context IDs of 0-3. So the tc->getCpuId() >> >> >>>> > > mentioned >> >> >>>> > > above >> >> >>>> > will >> >> >>>> > > be changed to something like tc->getContextId(). >> >> >>>> > > >> >> >>>> > > Each context will still have a pointer to the CPU it belongs >> >> >>>> > > to, >> >> >>>> > > which in >> >> >>>> > > turn will have an ID value so you can always know which CPU >> >> >>>> > > you >> >> >>>> > > belong to >> >> >>>> > if >> >> >>>> > > you want. >> >> >>>> > > >> >> >>>> > > >> >> >>>> > > I'm going to start working on this now, so speak now or >> >> >>>> > > forever >> >> >>>> > > hold your >> >> >>>> > > peace. :) >> >> >>>> > > >> >> >>>> > > Lisa >> >> >>>> > > >> >> >>>> > > _______________________________________________ >> >> >>>> > > m5-dev mailing list >> >> >>>> > > m5-dev@m5sim.org >> >> >>>> > > http://m5sim.org/mailman/listinfo/m5-dev >> >> >>>> > > >> >> >>>> > > >> >> >>>> > >> >> >>>> > >> >> >>>> > >> >> >>>> > -- >> >> >>>> > ---------- >> >> >>>> > Korey L Sewell >> >> >>>> > Graduate Student - PhD Candidate >> >> >>>> > Computer Science & Engineering >> >> >>>> > University of Michigan >> >> >>>> > _______________________________________________ >> >> >>>> > 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 mailing list >> >> >> m5-dev@m5sim.org >> >> >> http://m5sim.org/mailman/listinfo/m5-dev >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > ---------- >> >> > Korey L Sewell >> >> > Graduate Student - PhD Candidate >> >> > Computer Science & Engineering >> >> > University of Michigan >> >> > _______________________________________________ >> >> > 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 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 mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev > > -- ---------- Korey L Sewell Graduate Student - PhD Candidate Computer Science & Engineering University of Michigan _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev