From owner-svn-src-all@FreeBSD.ORG Tue Oct 21 20:05:56 2008 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id B45E11065672; Tue, 21 Oct 2008 20:05:55 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: "Attilio Rao" Date: Tue, 21 Oct 2008 16:05:41 -0400 User-Agent: KMail/1.6.2 References: <200810210431.m9L4V7Pb088978@svn.freebsd.org> <3bbf2fe10810210307t664cc8a2s62606f03427286f3@mail.gmail.com> In-Reply-To: <3bbf2fe10810210307t664cc8a2s62606f03427286f3@mail.gmail.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200810211605.46927.jkim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r184108 - head/sys/i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Oct 2008 20:05:56 -0000 On Tuesday 21 October 2008 06:07 am, Attilio Rao wrote: > Something we could do with this is adding a "quirk" table of TSC > arch dependant known to be working (based on cpu_model and such) > and use that table in order to replace tsc_smp. Please note the invariant_tsc and smp_tsc are different. If we go with the route, we need two quirk tables. :-( BTW, Linux is using TSC now when the P-state invariant TSC bit is set by BIOS for AMD CPUs: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg246251.html http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg246769.html "After a lot of discussions with AMD it turns out that TSC on Fam10h CPUs is synchronized when the CONSTANT_TSC cpuid bit is set. Or rather that if there are ever systems where that is not true it would be their BIOS' task to disable the bit." If this is statement is true, then we should do: if (amd_pminfo & AMDPM_TSC_INVARIANT) smp_tsc = 1; Also, I think we can safely assume: if (AMD64_FAMILY(cpu_id) >= 0x10) tsc_is_invariant = 1; Does anyone know whether these are correct assumptions? Jung-uk Kim