From owner-freebsd-hackers@FreeBSD.ORG Fri Jun 3 21:50:06 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE63716A41C for ; Fri, 3 Jun 2005 21:50:06 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd3mo1so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABBF543D48 for ; Fri, 3 Jun 2005 21:50:06 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd3mr5so.prod.shaw.ca (pd3mr5so-qfe3.prod.shaw.ca [10.0.141.12]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IHJ00BKW3A7S930@l-daemon> for freebsd-hackers@freebsd.org; Fri, 03 Jun 2005 15:49:19 -0600 (MDT) Received: from pn2ml7so.prod.shaw.ca ([10.0.121.151]) by pd3mr5so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IHJ00C2Y3A74530@pd3mr5so.prod.shaw.ca> for freebsd-hackers@freebsd.org; Fri, 03 Jun 2005 15:49:19 -0600 (MDT) Received: from [192.168.0.60] (S0106006067227a4a.vc.shawcable.net [24.87.209.6]) by l-daemon (iPlanet Messaging Server 5.2 HotFix 1.18 (built Jul 28 2003)) with ESMTP id <0IHJ00J0W3A6SH@l-daemon> for freebsd-hackers@freebsd.org; Fri, 03 Jun 2005 15:49:19 -0600 (MDT) Date: Fri, 03 Jun 2005 14:49:17 -0700 From: Colin Percival In-reply-to: <200506032057.j53KvOFw062012@apollo.backplane.com> To: Matthew Dillon Message-id: <42A0D05D.8040809@freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Accept-Language: en-us, en X-Enigmail-Version: 0.91.0.0 References: <200506032057.j53KvOFw062012@apollo.backplane.com> User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050406) Cc: freebsd-hackers@freebsd.org Subject: Re: Possible instruction pipelining problem between HT's on the same die ? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2005 21:50:07 -0000 Matthew Dillon wrote: > I'm even more confused because this bug is occuring between two logical > cpus on the same physical die. Is write ordering not guarenteed with > respect to the other logical cpu? Can one logical cpu prefetch data > early then then becomes obsolete by the time the instruction is actually > run? My understanding is that the circuits which detect if a speculative read needs to be re-done work only with the logical addresses. As such, you can get bogus data from speculative reads even between two threads within the same core if you don't use proper fencing instructions. But I may be completely confused here -- all the interesting details are in NDA'ed manuals which I can't get access to. :-( Colin Percival