cannot compile sched_ule without options SMP
pluknet
pluknet at gmail.com
Sat May 2 08:26:33 UTC 2009
2009/5/1 Jeff Roberson <jroberson at jroberson.net>:
>
>
> On Fri, 1 May 2009, pluknet wrote:
>
>> 2009/5/1 pluknet <pluknet at gmail.com>:
>>>
[snip]
>>> (kgdb) p/x cpu_high
>>> $1 = 0x2
>>> (kgdb) p/x cpu_cores
>>> $2 = 0x1
>>> (kgdb) p/x cpu_logical
>>> $3 = 0x2
>>> (kgdb) p/x cpu_feature
>>> $4 = 0xbfebfbff
>>> (kgdb) p/x logical_cpus
>>> $5 = 0x2
>>> (kgdb) p/x hyperthreading_cpus
>>> $6 = 0x2
>>>
>>
>> Follow up myself:
>>
>> What is embarrassing me is HTT feature enabled. May the reason be in a
>> buggy CPUID ?
>
> This is very curious. With older revisions did the system believe your CPUs
> were HTT? You can tell if you had sysctl machdep.hyperthreading_allowed or
> via the ULE kern.sched.topology_spec sysctl.
>
-current from February. I'm afraid it did.
machdep.hyperthreading_allowed: 1
kern.sched.topology_spec: <groups>
<group level="1" cache-level="0">
<cpu count="2" mask="0x3">0, 1</cpu>
<flags></flags>
<children>
<group level="3" cache-level="1">
<cpu count="2" mask="0x3">0, 1</cpu>
<flags><flag name="HTT">HTT group</flag>
</flags>
</group>
</children>
</group>
</groups>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
> I didn't realize there were any core2 CPUs without leaf 4 of cpuid. However,
> I didn't write the earlier hyperthread detection code. I'll see if I can
> get jhb to chime in.
>
> The HTT feature bit is set on many processors that don't have hyperthreads.
> So we need a secondary way of differentiating. I don't know what that is
> in this case.
--
wbr,
pluknet
More information about the freebsd-current
mailing list