Re: [hwloc-users] lstopo hangs for centos 7

2016-02-01 Thread Jianjun Wen
Hi Brice,
Thanks for the workaround -- it works very good.

Attached please find the two output file after run hwloc-gather-cpuid.
Let me after this is fixed!

thanks,
Jianjun

On Sun, Jan 31, 2016 at 9:48 PM, Brice Goglin  wrote:

> Thanks for the debugging. I guess VMware doesn't properly emulate the
> CPUID instruction.
>
> Please do:
> 1) take a tarball from git master at
> https://ci.inria.fr/hwloc/job/master-0-tarball/ and build it
> 2) export HWLOC_COMPONENTS=-x86 in your terminal
> 3) do utils/hwloc/hwloc-gather-cpuid
> 4) tar cfj cpuid.tbz2 foo and send that cpuid.tbz2
>
> Step (3) might do an infinite loop for the same reason, please replace
> for(i=0; ; i++) {
> with
> for(i=0; i<10; i++) {
> everywhere in utils/hwloc/hwloc-gather-cpuid.c
>
> This tarball will help me find what's buggy in VMware CPUID instruction.
>
>
> In the meantime, you can fix your hwloc by exporting HWLOC_COMPONENTS=-x86
> in your environment.
>
> If somebody knows how do detect vmware by looking under /proc or /sys, we
> could use that to automatically set that environment variable.
>
> thanks
> Brice
>
>
>
>
>
> Le 01/02/2016 05:59, Jianjun Wen a écrit :
>
> I did a debug build. Found it loops forever in this loop in
> topology-x86.c:404.
>
>
> /* Get package/core/thread information from cpuid 0x0b
>* (Intel x2APIC)
>*/
>   if (cpuid_type == intel && has_x2apic(features)) {
> unsigned level, apic_nextshift, apic_number, apic_type, apic_id = 0,
> apic_shift = 0, id;
> for (level = 0; ; level++) {
>   ecx = level;
>   eax = 0x0b;
>   hwloc_x86_cpuid(, , , );
>   if (!eax && !ebx)
> break;
> }
>
> On Sun, Jan 31, 2016 at 8:30 PM, Christopher Samuel <
> sam...@unimelb.edu.au> wrote:
>
>> On 01/02/16 15:09, Jianjun Wen wrote:
>>
>> > 0x77bce13c in look_proc () from /lib64/libhwloc.so.5
>> >
>> > Always the same place.
>>
>> pstack on the process when stuck might give more of an insight as it
>> should give more of a stack trace.
>>
>> Also running lstopo under strace should show what it is trying to do at
>> that point.
>>
>> All the best,
>> Chris
>> --
>>  Christopher SamuelSenior Systems Administrator
>>  VLSCI - Victorian Life Sciences Computation Initiative
>>  Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
>>  http://www.vlsci.org.au/  http://twitter.com/vlsci
>>
>> ___
>> hwloc-users mailing list
>> hwloc-us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>> Link to this post:
>> http://www.open-mpi.org/community/lists/hwloc-users/2016/01/1251.php
>>
>
>
>
> --
> -Jianjun Wen
> Wancube.com - 3D photography
> Phone: 408 888 7023
>
>
> ___
> hwloc-users mailing listhwloc-us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>
> Link to this post: 
> http://www.open-mpi.org/community/lists/hwloc-users/2016/01/1252.php
>
>
>
> ___
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> Link to this post:
> http://www.open-mpi.org/community/lists/hwloc-users/2016/02/1254.php
>



-- 
-Jianjun Wen
Wancube.com - 3D photography
Phone: 408 888 7023


aaa.output
Description: Binary data


aaa.tar.bz2
Description: BZip2 compressed data


Re: [hwloc-users] lstopo hangs for centos 7

2016-02-01 Thread Brice Goglin
Thanks for the debugging. I guess VMware doesn't properly emulate the
CPUID instruction.

Please do:
1) take a tarball from git master at
https://ci.inria.fr/hwloc/job/master-0-tarball/ and build it
2) export HWLOC_COMPONENTS=-x86 in your terminal
3) do utils/hwloc/hwloc-gather-cpuid
4) tar cfj cpuid.tbz2 foo and send that cpuid.tbz2

Step (3) might do an infinite loop for the same reason, please replace
for(i=0; ; i++) {
with
for(i=0; i<10; i++) {
everywhere in utils/hwloc/hwloc-gather-cpuid.c

This tarball will help me find what's buggy in VMware CPUID instruction.


In the meantime, you can fix your hwloc by exporting
HWLOC_COMPONENTS=-x86 in your environment.

If somebody knows how do detect vmware by looking under /proc or /sys,
we could use that to automatically set that environment variable.

thanks
Brice




Le 01/02/2016 05:59, Jianjun Wen a écrit :
> I did a debug build. Found it loops forever in this loop in
> topology-x86.c:404.
>   
>
> /* Get package/core/thread information from cpuid 0x0b
>* (Intel x2APIC)
>*/
>   if (cpuid_type == intel && has_x2apic(features)) {
> unsigned level, apic_nextshift, apic_number, apic_type, apic_id =
> 0, apic_shift = 0, id;
> for (level = 0; ; level++) {
>   ecx = level;
>   eax = 0x0b;
>   hwloc_x86_cpuid(, , , );
>   if (!eax && !ebx)
> break;
> }
>
> On Sun, Jan 31, 2016 at 8:30 PM, Christopher Samuel
> > wrote:
>
> On 01/02/16 15:09, Jianjun Wen wrote:
>
> > 0x77bce13c in look_proc () from /lib64/libhwloc.so.5
> >
> > Always the same place.
>
> pstack on the process when stuck might give more of an insight as it
> should give more of a stack trace.
>
> Also running lstopo under strace should show what it is trying to
> do at
> that point.
>
> All the best,
> Chris
> --
>  Christopher SamuelSenior Systems Administrator
>  VLSCI - Victorian Life Sciences Computation Initiative
>  Email: sam...@unimelb.edu.au 
> Phone: +61 (0)3 903 55545 
>  http://www.vlsci.org.au/  http://twitter.com/vlsci
>
> ___
> hwloc-users mailing list
> hwloc-us...@open-mpi.org 
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> Link to this post:
> http://www.open-mpi.org/community/lists/hwloc-users/2016/01/1251.php
>
>
>
>
> -- 
> -Jianjun Wen
> Wancube.com - 3D photography
> Phone: 408 888 7023
>
>
> ___
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> Link to this post: 
> http://www.open-mpi.org/community/lists/hwloc-users/2016/01/1252.php