cvs commit: src/sys/amd64/amd64 identcpu.c src/sys/i386/i386 identcpu.c

David O'Brien obrien at FreeBSD.org
Mon Oct 17 11:31:44 PDT 2005


On Mon, Oct 17, 2005 at 02:17:33PM -0400, Jung-uk Kim wrote:
> On Monday 17 October 2005 01:28 pm, David O'Brien wrote:
> > On Mon, Oct 17, 2005 at 12:00:47PM -0400, Jung-uk Kim wrote:
> > > On Sunday 16 October 2005 04:58 am, David E. O'Brien wrote:
> > > > obrien      2005-10-16 08:58:27 UTC
> > > >
> > > >   FreeBSD src repository
> > > >
> > > >   Modified files:
> > > >     sys/amd64/amd64      identcpu.c
> > > >     sys/i386/i386        identcpu.c
> > > >   Log:
> > > >   For AMD processors, nullify CPUID.HTT.  FreeBSD has no need
> > > > for the information it conveys, and it is only confusing
> > > > people. This fixes incorrect output in the previous commit.
> > > >
> > > >   Revision  Changes    Path
> > > >   1.138     +9 -0      src/sys/amd64/amd64/identcpu.c
> > > >   1.147     +9 -0      src/sys/i386/i386/identcpu.c
> > >
> > > Have you verified you are not breaking `logical_cpus' in
> > > mp_machdep.c by doing this?
> > >
> > > Show me the 'incorrect' output or please back it out.
> >
> >     CPU: Dual Core AMD Opteron(tm) Processor 280 (2392.35-MHz
> > K8-class CPU) ..
> >     Physical/Logical cores: 2/2
> >     ..
> >     FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> >      cpu0 (BSP): APIC ID:  0
> >      cpu1 (AP): APIC ID:  1
> >      cpu2 (AP): APIC ID:  2
> >      cpu3 (AP): APIC ID:  3
> >
> > I sure as hell have 4 physical cores and no logical cores.
> 
> The information is per-CPU.  You have two CPUs with dual cores, which 
> means the given information is correct.  Please back it out.

No, this given information is wrong.  AMD does not have HyperThreading.
You are treating it as if it does.  The rest of the kernel also should
not be trying to treat AMD dual-core as HyperThreading.

The only thing that should care in the freebsd kernel right now about AMD
dual-core is PowerNow! support.  It probably needs to know what cores
match physical cores so it can proper work in a multi-socket system.

Please point to what part of `logical_cpus' in mp_machdep.c you feel is
broken by this change.

> > I do not think you fully understand what AMD dual-core CPU's.
> 
> Oh, please...

The code you committed suggest this...

-- 
-- David  (obrien at FreeBSD.org)


More information about the cvs-all mailing list