On Dec 10, 2009, at 5:22 PM, Samuel Thibault wrote:
> > Are you saying that the API will be all OS/physical, with conversion functions from #3 to convert to/from logical?
> No, it should stay logical, conversion would be just to translate into OS/physical.
Ok -- good. Consistent (CLI and C) == good. We'll need translation functions for both directions, right? (to and from OS/physical)
> > Additionally, what exactly is the logical ordering defined to be?
> See topology.c, it's always topologically ordered, and then ordered
> by OS cpu numbers. So for instance if the topology is flat, the OS
> CPU numbers would get used. Then the topology distorts the OS CPU
> numbering. So logical ordering is as close as OS CPU numbering as
> possible, constrained by topology.
Awesome. As you noted, I only looked in the linux file; not the top-level topology.c. Cool.
> > We need to guarantee that it is the same across every run,
> It is, unless the BIOS changes the CPU numbers.
Agreed: nothing we can do about that.
> > My point: if we're going to have a logical ordering, we should be able to provide at least some level of guarantee of stability about that logical ordering.
> For sure since that was precisely what I had in my when I put the
> sorting code in the generic part.
2 steps ahead of me. Perfect. :-)