Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 May 2009 11:50:52 +0400
From:      pluknet <pluknet@gmail.com>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        freebsd-current@freebsd.org, Jeff Roberson <jroberson@jroberson.net>
Subject:   Re: cannot compile sched_ule without options SMP
Message-ID:  <a31046fc0905020050y3d4eef1ao5944b8e4c204514c@mail.gmail.com>
In-Reply-To: <200905011610.42613.jkim@FreeBSD.org>
References:  <20090430013428.cb4f804b.nork@FreeBSD.org> <a31046fc0904301939la407bfek2f342b06c7d3ba29@mail.gmail.com> <a31046fc0904302004r195750f2h586e08d9acf854d1@mail.gmail.com> <200905011610.42613.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/5/2 Jung-uk Kim <jkim@freebsd.org>:
> On Thursday 30 April 2009 11:04 pm, 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 ?
>
> No, the flag does not mean it supports Hyperthreading.  It means more
> than one logical core is supported (multi-threading) although the
> name didn't change for historical reason. ;-)
>

I see now.

> Can you try the attached patch?
>

Nice, it works!

cpu_mp_probe(): mp_ncpus = 2
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1

(kgdb) p/x cpu_high
$1 = 0xa
(kgdb) p/x cpu_cores
$2 = 0x2
(kgdb) p/x cpu_logical
$3 = 0x1
(kgdb) p/x cpu_feature
$4 = 0xbfebfbff
(kgdb) p/x logical_cpus
$5 = 0x2
(kgdb) p/x hyperthreading_cpus
$6 = 0x1


-- 
wbr,
pluknet



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