[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2015-06-09 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3798

Andrei Alexandrescu and...@erdani.com changed:

   What|Removed |Added

Version|2.040   |D2

--


[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2010-03-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3798


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #5 from Don clugd...@yahoo.com.au 2010-03-10 20:49:23 PST ---
Fixed DMD2.041.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2010-02-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3798



--- Comment #3 from David Simcha dsim...@yahoo.com 2010-02-13 07:54:38 PST ---
 Please add ++level;  as the last line of that loop, so that it ends as:
 ++level;
 } while (a!=0 || b!=0);
 
 Does that fix it? I don't have access to a Core i7, so I'm flying blind based
 on the Intel manuals.

Yep, that fixes it. Please fold into druntime for the next release.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2010-02-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3798



--- Comment #4 from Don clugd...@yahoo.com.au 2010-02-13 12:49:21 PST ---
(In reply to comment #3)
  Please add ++level;  as the last line of that loop, so that it ends as:
  ++level;
  } while (a!=0 || b!=0);
  
  Does that fix it? I don't have access to a Core i7, so I'm flying blind 
  based
  on the Intel manuals.
 
 Yep, that fixes it. Please fold into druntime for the next release.

Excellent! Druntime svn 245.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2010-02-12 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3798



--- Comment #1 from David Simcha dsim...@yahoo.com 2010-02-12 12:24:55 PST ---
ASsa  temporary workaround, I'm using:

if (0) { //max_cpuid =0x0B) {
// For Intel i7 and later, use function 0x0B to determine
// cores and hyperthreads.
getCpuInfo0B();
} else {
if (hyperThreadingBit) maxThreads = (apic16)  0xFF;
else maxThreads = maxCores;
}

The problem appears to be that the termination condition for the following loop
never becomes true:

do {
asm {
mov EAX, 0x0B;
mov ECX, level;
cpuid;
mov a, EAX;
mov b, EAX;
mov c, ECX;
mov d, EDX;
}
if (b!=0) {
   // I'm not sure about this. The docs state that there
   // are 2 hyperthreads per core if HT is factory enabled.
if (level==0) maxThreads = b  0x;
else if (level==1) maxCores = b  0x;

}
} while (a!=0 || b!=0);

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3798] core.cpuid locks systems with Xeon E5530 CPU

2010-02-12 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3798


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au


--- Comment #2 from Don clugd...@yahoo.com.au 2010-02-12 20:35:48 PST ---
(In reply to comment #1)
 The problem appears to be that the termination condition for the following 
 loop
 never becomes true:
 
 do {
 asm {
 mov EAX, 0x0B;
 mov ECX, level;
 cpuid;
 mov a, EAX;
 mov b, EAX;
 mov c, ECX;
 mov d, EDX;
 }
 if (b!=0) {
// I'm not sure about this. The docs state that there
// are 2 hyperthreads per core if HT is factory enabled.
 if (level==0) maxThreads = b  0x;
 else if (level==1) maxCores = b  0x;
 
 }
 } while (a!=0 || b!=0);

Please add ++level;  as the last line of that loop, so that it ends as:
++level;
} while (a!=0 || b!=0);

Does that fix it? I don't have access to a Core i7, so I'm flying blind based
on the Intel manuals.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---