Hello Ralph,

Indeed, adding something before the cache size might be good.

But if I was picky, I would say "size=32kB linesize=64". The word
"Cache" is already written above (in the object type), why would we
duplicate it in "Cachesize" and "Cacheline" ?

Right now, lstopo shows:
    L3Cache L#3 (4096KB line=64)
With your patch, it would say:
    L3Cache L#3 (Cachesize=4096KB Cacheline=64)
With my variant, it would say:
    L3Cache L#3 (size=4096KB linesize=64)

Brice




Le 22/09/2011 21:27, Jeff Squyres a écrit :
> Ralph noticed the following when working on integrating hwloc deeply into 
> OMPI, and suggests the attached patch.  Does it look good to you guys?
>
> -----
>
> Something isn't right with hwloc_obj_attr_snprintf() when the object is a 
> cache. I get this when printing the topology of my Mac:
>
>       Detected Resources:     Type: Machine Number of child objects: 1
>               Name=NULL
>               total=3145728KB
>               Backend=Darwin
>               OSName=Darwin
>               OSRelease=10.8.0
>               OSVersion="Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 
> PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386"
>               Architecture=i386
>               Cpuset:  0x00000003
>               Online:  0x00000003
>               Allowed: 0x00000003
>               Type: NUMANode Number of child objects: 1
>                       Name=NULL
>                       local=3145728KB
>                       total=3145728KB
>                       Cpuset:  0x00000003
>                       Online:  0x00000003
>                       Allowed: 0x00000003
>                       Type: Socket Number of child objects: 1
>                               Name=NULL
>                               
>                               Cpuset:  0x00000003
>                               Online:  0x00000003
>                               Allowed: 0x00000003
>                               Type: L2Cache Number of child objects: 2
>                                       Name=NULL
>                                       4096KB
>                                       line=64
>                                       Cpuset:  0x00000003
>                                       Online:  0x00000003
>                                       Allowed: 0x00000003
>                                       Type: L1Cache Number of child objects: 1
>                                               Name=NULL
>                                               32KB
>                                               line=64
>                                               Cpuset:  0x00000001
>                                               Online:  0x00000001
>                                               Allowed: 0x00000001
>                                               Type: Core Number of child 
> objects: 1
>                                                       Name=NULL
>                                                       
>                                                       Cpuset:  0x00000001
>                                                       Online:  0x00000001
>                                                       Allowed: 0x00000001
>                                                       Type: PU Number of 
> child objects: 0
>                                                               Name=NULL
>                                                               
>                                                               Cpuset:  
> 0x00000001
>                                                               Online:  
> 0x00000001
>                                                               Allowed: 
> 0x00000001
>                                       Type: L1Cache Number of child objects: 1
>                                               Name=NULL
>                                               32KB
>                                               line=64
>                                               Cpuset:  0x00000002
>                                               Online:  0x00000002
>                                               Allowed: 0x00000002
>                                               Type: Core Number of child 
> objects: 1
>                                                       Name=NULL
>                                                       
>                                                       Cpuset:  0x00000002
>                                                       Online:  0x00000002
>                                                       Allowed: 0x00000002
>                                                       Type: PU Number of 
> child objects: 0
>                                                               Name=NULL
>                                                               
>                                                               Cpuset:  
> 0x00000002
>                                                               Online:  
> 0x00000002
>                                                               Allowed: 
> 0x00000002
>
> Note that I get an empty line (it is non-NULL and has length > 0) when there 
> are no attrs at all, but attrs is non-NULL (see the output for the cores). 
> The output for the caches shows "32KB", but no title explaining what that 
> value means. Likewise, I get a "line=64" output, which makes no sense.
>
> The attached patch clarifies the output.
>
>
>
> _______________________________________________
> hwloc-devel mailing list
> [email protected]
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel

Reply via email to