From owner-cvs-all Thu Feb 13 22:17:20 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 2137437B401; Thu, 13 Feb 2003 22:17:18 -0800 (PST) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9EE0C43F85; Thu, 13 Feb 2003 22:17:15 -0800 (PST) (envelope-from marcel@xcllnt.net) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by ns1.xcllnt.net (8.12.6/8.12.6) with ESMTP id h1E6H91o031959; Thu, 13 Feb 2003 22:17:09 -0800 (PST) (envelope-from marcel@piii.pn.xcllnt.net) Received: from athlon.pn.xcllnt.net (localhost [127.0.0.1]) by athlon.pn.xcllnt.net (8.12.7/8.12.7) with ESMTP id h1E6H9KQ002219; Thu, 13 Feb 2003 22:17:09 -0800 (PST) (envelope-from marcel@athlon.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.12.7/8.12.7/Submit) id h1E6H9m4002218; Thu, 13 Feb 2003 22:17:09 -0800 (PST) Date: Thu, 13 Feb 2003 22:17:08 -0800 From: Marcel Moolenaar To: Eric Anholt Cc: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/modules Makefile Message-ID: <20030214061708.GA2109@athlon.pn.xcllnt.net> References: <20030213223058.769DA2A8C1@canning.wemm.org> <1045185451.11981.17.camel@leguin> <20030214023218.GA1573@athlon.pn.xcllnt.net> <1045194133.11981.87.camel@leguin> <20030214043028.GA1797@athlon.pn.xcllnt.net> <1045200753.84507.54.camel@leguin> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1045200753.84507.54.camel@leguin> User-Agent: Mutt/1.5.3i 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 On Thu, Feb 13, 2003 at 09:32:33PM -0800, Eric Anholt wrote: > > > > In that case, we'd better make sure there's cache coherency. Do we > > actually have the code structured in a way that allows having the > > flushing chipset dependent (not to mention dependent on the address)? > > No, currently all the cache flushes (four in agp.c, three in i810 and > amd code) are unconditional agp_flush_cache calls after modifying the > gatt entries. They aren't tied to a specific memory range, but could be > pretty easily, if not the most efficiently, by pushing some of them into > the (un)bind_pages. There's probably a better way. I wonder: do we actually need to flush at all? GART updates are PCI/AGP writes and should be coherent, right? Isn't updating the SGM (system graphics memory) itself that needs cache flushes to make sure the AGP device gets the right data? Also, on ia64 bus I/O is done with a virtual address that has the non-cacheable property. Flushing would not be required irrespective. Anyway: the nit was about having conditional compilation based on the architecture, not whether the code was actually required. When in doubt, commit the code :-) -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message