cvs commit: src/sys/amd64/amd64 identcpu.c src/sys/i386/i386
eta at lclark.edu
Mon Oct 17 12:08:53 PDT 2005
On Mon, 2005-10-17 at 11:31 -0700, David O'Brien wrote:
> 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...
Apparently David interpeted the "Physical/Logical cores: 2/2" as two
physical cores plus two additional logical cores. I didn't, but I could
see how (since this per-cpu information printed isn't actually printed
per cpu) it could be interpreted this way on a dual-cpu system.
I think that this would be useful information to be printing in general
(not just on really-HTT systems), since it would clarify what seeing
"cpu[0-3]: APIC ID..." printed out actually means when you're just
taking a look at some system and wondering how many cores it has.
How hard would it be to do the cpuid per-cpu? Would it be sane to
assume that the cpuid output of the other CPUs will be the same (pretty
sure that's not the case), or at least that the multicore and HTT info
will be the same? And would there be a better wording to prevent
Eric Anholt eta at lclark.edu
http://people.freebsd.org/~anholt/ anholt at FreeBSD.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20051017/1cf529c4/attachment.bin
More information about the cvs-src