Re: cannot compile sched_ule without options SMP

From: pluknet <pluknet_at_gmail.com>
Date: Sat, 2 May 2009 12:26:31 +0400
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
Received on Sat May 02 2009 - 06:26:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:47 UTC