From owner-cvs-src@FreeBSD.ORG Mon Oct 17 19:53:45 2005 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C9B416A420; Mon, 17 Oct 2005 19:53:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7633C43D64; Mon, 17 Oct 2005 19:53:37 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from [10.50.41.234] (Not Verified[10.50.41.234]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Mon, 17 Oct 2005 16:09:45 -0400 From: John Baldwin To: Eric Anholt Date: Mon, 17 Oct 2005 15:54:44 -0400 User-Agent: KMail/1.8.2 References: <200510160858.j9G8wR9v045670@repoman.freebsd.org> <20051017183139.GA97488@dragon.NUXI.org> <1129576130.1152.30.camel@leguin> In-Reply-To: <1129576130.1152.30.camel@leguin> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510171554.46682.jhb@freebsd.org> Cc: cvs-src@freebsd.org, cvs-all@freebsd.org, src-committers@freebsd.org, Jung-uk Kim , obrien@freebsd.org Subject: Re: cvs commit: src/sys/amd64/amd64 identcpu.c src/sys/i386/i386 identcpu.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Oct 2005 19:53:45 -0000 On Monday 17 October 2005 03:08 pm, Eric Anholt wrote: > 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 > confusion? Doing it for each CPU would really bloat the output, and in practice I don't think would buy us anything. Note that the code assumes the package topology is uniform as well, not just the printfs. :) Probably the messages could be made less ambiguous by splitting it into two lines that say something like: Cores per package: 2 Logical CPUs per core: 1 Except that each line would only print if it's value was greater than 1. Thus, on David's box you would get: Cores per package: 2 On a PIV with HTT would get: Logical CPUs per core: 2 And on the super-spiffy Zueeglecorp CPU, you would get: Cores per package: 4 Logical CPUs per core: 4 -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org