From owner-cvs-all Thu Jan 30 11:52:14 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9546E37B406; Thu, 30 Jan 2003 11:52:12 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3558243FA3; Thu, 30 Jan 2003 11:52:11 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.6/8.12.6) with ESMTP id h0UJqB0i089353; Thu, 30 Jan 2003 11:52:11 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.6/8.12.6/Submit) id h0UJqA0h089352; Thu, 30 Jan 2003 11:52:10 -0800 (PST) Date: Thu, 30 Jan 2003 11:52:10 -0800 (PST) From: Matthew Dillon Message-Id: <200301301952.h0UJqA0h089352@apollo.backplane.com> To: John Baldwin , cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG Subject: Re: RE: cvs commit: src/sys/i386/i386 mp_machdep.c References: Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :> Log: :> MFC: Basic support for Hyperthreading. This uses the values from cpuid to :> enmuerate logical CPUs. :> :> Requested heavily by: ps : :I highly recommend turning on machdep.cpu_idle_hlt for HTT boxes as it :provides a noticable performance improvement. I'm still testing some :other patches to rework the locking code in 4.x to make use of the pause :instruction and be more intelligent about spinning on locks in general. : :-- : :John Baldwin <>< http://www.FreeBSD.org/~jhb/ Ouch. That's rather counter-intuitive since idle_hlt usually degrades performance, but I see how it would improve performance on an HTT box. If the idle loop can be tightened up sufficiently - particularly if locked bus cycles can be removed from it (or removed for the HTT case anyway), then idle_hlt should go back to its more intuitive loss of performance instead of generating a performance improvement :-). Also, I perused the linux archives a bit and they had some rather severe scheduling issues with HTT. Apparently the logical cpus are not equivalent to each other (?), and are definitely not as effective as physical cpus (which makes sense), so if you have two KSEs and two physical cpus each with an extra logical cpu, you absoultely want to schedule the two KSEs on the two physical cpu's. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message