From owner-freebsd-smp Tue Feb 4 12:41:51 2003 Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C34E37B401 for ; Tue, 4 Feb 2003 12:41:50 -0800 (PST) Received: from mail.speakeasy.net (mail15.speakeasy.net [216.254.0.215]) by mx1.FreeBSD.org (Postfix) with ESMTP id 166B143F79 for ; Tue, 4 Feb 2003 12:41:49 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 28235 invoked from network); 4 Feb 2003 20:41:54 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail15.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 4 Feb 2003 20:41:54 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.6/8.12.6) with ESMTP id h14KfkUT090598; Tue, 4 Feb 2003 15:41:46 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <3E4021D4.7D1FCD43@mindspring.com> Date: Tue, 04 Feb 2003 15:41:54 -0500 (EST) From: John Baldwin To: Terry Lambert Subject: Re: mp_machdep.c patch Cc: Brendon and Wendy , Chris Luke , freebsd-smp@freebsd.org Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 04-Feb-2003 Terry Lambert wrote: > John Baldwin wrote: >> > You have to enable HT in the BIOS. If it is not enabled in the >> > BIOS, it will not add entries to the MP Table for the virtual >> > processors, and they will not be recognized. >> >> This is not correct. Some BIOS's list all virtual processors in >> the mptable (in which case the HTT patch is not needed and basically >> has no affect) but most only list the first core in each physical >> CPU. Enabling/disabling HT in the BIOS usually only affects ACPI's >> MADT table, not the MP table. The HT patch I wrote doesn't use the >> BIOS at all. It _only_ uses the values in registers returned from >> cpuid. > > I have personal experience with a machine that modifies the > contents of the MP Table, based on the BIOS settings, with > regard to hyperthreading. These are in the vast minority. > The problem with the use of the "cpuid 1" instruction to count > the number of cores on a processor is that doing this does not > take into account user settings in the BIOS, where hyperthreading > is intentionally being disabled, for whatever reason. Yes, which is why the real solution for 5.x going forward is to use ACPI's MADT. > One question this raises is whether or not ACPI would indicate > "present, but disabled" vs. "not present". The FALLBK approach > requires the former, if BIOS controls are to be maintained. This > is likely BIOS implementation dependent, unfortunately: if it's > even possible, some vendor likely implements their BIOS by making > the entries disappear from ACPI. ACPI enumerates present and disabled CPU's as present and disabled. The ACPI support is on my todo list, btw, but first I have to rework the APIC_IO support to work well with ACPI. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message