Date: Wed, 22 Apr 2009 19:38:11 -0700 From: Norbert Papke <npapke@acm.org> To: freebsd-stable@freebsd.org Cc: Robert Noland <rnoland@freebsd.org> Subject: Re: dri + ATI: dramatic performance slowdown Message-ID: <200904221938.12129.npapke@acm.org> In-Reply-To: <1240448113.2142.11.camel@balrog.2hip.net> References: <20090420152620.8f89edd5.lehmann@ans-netz.de> <200904221739.25097.npapke@acm.org> <1240448113.2142.11.camel@balrog.2hip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On April 22, 2009, Robert Noland wrote: > On Wed, 2009-04-22 at 17:39 -0700, Norbert Papke wrote: > > 0x0/0x100000000 BIOS write-back set-by-firmware active > > 0x100000000/0x40000000 BIOS write-back set-by-firmware active > > 0xc0000000/0x40000000 BIOS uncacheable set-by-firmware active > > MTRR is failing in many cases... It seems that your BIOS is doing what > both of my newer machines are doing and setting a global range to > write-back. I'm also guessing that 0xc0000000 is your framebuffer. Correct. The framebuffer starts at 0xd0000000, still covered by that last range. > We > aren't allowed to overlap either of these ranges with a write combined > region according to the specs. We would have to handle > splitting/merging regions which we don't currently do. I looked at this > just the other day, but it is reasonably complex to make that work right > and accommodate all of the merging/splitting of regions. > > We are allowed to use PAT on either of these types of regions to enable > write-combining. The drm code already does this for some allocations > that are not mapped to user space. The problem with PAT is that all > mappings of a given region need to have the same type and we don't > currently have any way to specify that for user space mappings. This is > fwiw, the last of Nvidia's feature requests as well. I've started > looking at it, but I have a lot of learning to do on the vm system > still. Thanks for taking the time to explain. Your posts are always very informative. I am learning quite a lot about the complexities involved. There is yet another thing I don't understand. With other graphics cards, including my G45 internal graphics adaptor, the /dev/agpgart device is created. I don't see this device with the Radeon card. Is this expected because it is not needed for PCIe? Cheers, -- Norbert Papke. npapke@acm.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904221938.12129.npapke>