From owner-svn-src-all@FreeBSD.ORG Fri Jan 18 17:13:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1DA69469; Fri, 18 Jan 2013 17:13:11 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id D215C888; Fri, 18 Jan 2013 17:13:10 +0000 (UTC) Received: from pakbsde14.localnet (unknown [38.105.238.108]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 28696B986; Fri, 18 Jan 2013 12:13:10 -0500 (EST) From: John Baldwin To: Konstantin Belousov Subject: Re: svn commit: r245577 - in head/sys: amd64/amd64 i386/i386 x86/x86 Date: Fri, 18 Jan 2013 10:52:54 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p22; KDE/4.5.5; amd64; ; ) References: <201301172132.r0HLWQHD004835@svn.freebsd.org> <20130118040332.GT2522@kib.kiev.ua> In-Reply-To: <20130118040332.GT2522@kib.kiev.ua> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201301181052.54464.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 18 Jan 2013 12:13:10 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 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: Fri, 18 Jan 2013 17:13:11 -0000 On Thursday, January 17, 2013 11:03:32 pm Konstantin Belousov wrote: > On Thu, Jan 17, 2013 at 09:32:26PM +0000, John Baldwin wrote: > > Author: jhb > > Date: Thu Jan 17 21:32:25 2013 > > New Revision: 245577 > > URL: http://svnweb.freebsd.org/changeset/base/245577 > > > > Log: > > Don't attempt to use clflush on the local APIC register window. Various > > CPUs exhibit bad behavior if this is done (Intel Errata AAJ3, hangs on > > Pentium-M, and trashing of the local APIC registers on a VIA C7). The > > local APIC is implicitly mapped UC already via MTRRs, so the clflush isn't > > necessary anyway. > > > > MFC after: 2 weeks > I am curious, was there a case where the clflush was really executed > on the LAPIC register window with the pristine HEAD code ? I think > that there is no Intel processors which support clflush instruction > and do not have self-snoop. The VIA CPUs. I had a submitter report that a clflush against the local APIC range would sometimes cause the entire local APIC range to get overwritten with a single cacheline (repeated throughout the window). Also, in theory we could perhaps stop masking CLFLUSH in VM's when SS is masked. > On the other hand, please note that the same change could be due for the > pmap_invalidate_cache_pages(). Unlike pmap_invalidate_cache_range(), > _pages() uses clflush unconditionally on purpose, since it is intended > for devices which do not snoop. Hmm, maybe. I'm not sure that call is ever used on the local APIC since the relevant page should already be UC from the boot-time call? -- John Baldwin