Le 13/09/2011 21:51, TERRY DONTJE a écrit :
On 9/13/2011 9:23 AM, Brice Goglin wrote:
Le 12/09/2011 21:01, Brice Goglin a écrit :
Both type and model are character strings. An example of what I
currently store in the sysinfo structures are:
Le 09/09/2011 13:25, TERRY DONTJE a écrit :
On 9/8/2011 3:10 PM, Brice Goglin wrote:
The way info objects would be attached to a Socket object I
assume it would be ok to just attach such an object under
Solaris but not not for the other OSes. Since one can look
for the named object and it is either going to be there or
Indeed there's nothing like this as of today. We talked
about it in the past but it's not very easy to implement
on Linux (see below) so we forgot about it until somebody
Adding infos would certainly be fine. I think it should
rather be "CPUType" and "CPUModel" since existing infos
have no underscore in their name if I remember correctly.
You could also set object->name to a combination of
type and model. Socket looks like the right object to put
this. Maybe even use "Model" and "Type" as the info names
The reason it's not easy on Linux is that we usually take
infos from either sysfs, or /proc/cpuinfo if sysfs isn't
available, but not from both. Processor names are only in
/proc/cpuinfo IIRC. So we'd need to mix sysfs and
/proc/cpuinfo. Not easy with the current code, especially
if you can't assume that all sockets are similar. But
definitely something that I will do at some point.
Anyway, I'll play around with this for Solaris.
Looking at the code, you might want to drop
hwloc_setup_level() and copy it back into the caller. It will
make the addition of info attributes much easier. I am looking
at the Linux side.
I just pushed some code that will make this much easier on Linux
(I may change the Solaris code similarly when I'll take time to
test on a real solaris machine).
Now I have a patch that reads the CPU vendor and model in
/proc/cpuinfo (x86 only for now) and use them to set Socket info
attributes (CPUVendor and CPUModel) and name
Before I push this, we need to clarify what we want. You were
talking about "CPUType" and "CPUModel". Can you give some
example of what it would look like under Solaris? I want to
compare to what I can get on Linux.
type = "SPARC"
model = "SPARC64_VI"
Other values for model are "T1", "T2", "SPARC64_VII"...
What about Solaris on non-sparc machines ?