Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Apr 2009 19:14:46 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        pluknet <pluknet@gmail.com>, jhb@freebsd.org
Cc:        freebsd-current@freebsd.org
Subject:   Re: cannot compile sched_ule without options SMP
Message-ID:  <alpine.BSF.2.00.0904301910550.981@desktop>
In-Reply-To: <a31046fc0904302004r195750f2h586e08d9acf854d1@mail.gmail.com>
References:  <20090430013428.cb4f804b.nork@FreeBSD.org> <alpine.BSF.2.00.0904291329280.981@desktop> <a31046fc0904301232u1f0bdd15ybe9cdb345bce05a0@mail.gmail.com> <alpine.BSF.2.00.0904301207360.981@desktop> <a31046fc0904301939la407bfek2f342b06c7d3ba29@mail.gmail.com> <a31046fc0904302004r195750f2h586e08d9acf854d1@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Fri, 1 May 2009, pluknet wrote:

> 2009/5/1 pluknet <pluknet@gmail.com>:
>> 2009/5/1 Jeff Roberson <jroberson@jroberson.net>:
>>> On Thu, 30 Apr 2009, pluknet wrote:
>>>
>>>> 2009/4/30 Jeff Roberson <jroberson@jroberson.net>:
>>>>>
>>>>> On SMP machines you should now see output like this:
>>>>> FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
>>>>> FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
>>>>>
>>>>> If you detect any irregularities with kern.sched.topology_spec or this
>>>>> dmesg
>>>>> line please report them.
>>>>>
>>>>
>>>> Hi, Jeff.
>>>>
>>>> I have such mismatch. This is an Intel E7200.
>>>>
>>>> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
>>>> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads
>>>> cpu0 (BSP): APIC ID:  0
>>>> cpu1 (AP/HT): APIC ID:  1
>>>>
>>>> So it should be instead: 1 package(s) x 2 core(s)
>>>> cpu0 (BSP): APIC ID:  0
>>>> cpu1 (AP): APIC ID:  1
>>>
>>> Can you please repeat the following steps as I have done here:
>>>
>>
>> (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.

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.

Thanks,
Jeff

>
> -- 
> wbr,
> pluknet
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0904301910550.981>