[Issue 6038] core.cpuid reports unexpected values for threadsPerCPU and hyperThreading

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri May 20 09:06:49 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6038



--- Comment #3 from kai at redstar.de 2011-05-20 09:02:39 PDT ---
With the fix, I get the right numbers. Thanks.
(Now, threadsPerCPU() returns the total number of logical thread in the CPU.
With this interpretation, the numbers for the
Core Duo2 are ok, too.)

In an attempt to fix it by myself, I read the latest Instruction Set Manual
from Intel. From my understanding,
there is no hardcoded relationship between the level number (bits [7:0] in ECX)
and the level type (bits [15:8] in ECX).
E.g. returning the number of cores for level number 0 and the number of threads
per core for level number 1 would also
match the specification.
The attached patch uses the level type instead of the level number to fix this.

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


More information about the Digitalmars-d-bugs mailing list