Subject: Re: aperture driver (Re: XFree 4.0)
To: maximum entropy <entropy@zippy.bernstein.com>
From: Oleg Polyanski <luke@eed.miee.ru>
List: current-users
Date: 03/14/2000 02:59:18
>>>>> "me" == maximum entropy writes:

 >> By the way, does anyone know why aperture driver with P6 (and higher)
 >> MTRR support is not in NetBSD-current/i386 branch?  I almost wrote my own
 >> MTRR support code before discovered an updated version of aperture LKM in
 >> XFree86 4.0 source tree.  It's not obvious place for searching updated
 >> aperture driver.

 me> The aperture driver you're looking for is in our -current xsrc tree.

 me> /usr/xsrc/xc/programs/Xserver/hw/xfree86/etc/apNetBSD.shar

 me> I built it from there and it seems to work fine.  But what exactly *is*
 me> "MTRR support"?  I'm not noticing any significant improvement in
 me> performance or anything else, while running X with this driver.

        Yep, it works fine but it's LKM and should recompiled almost any time
        when after you synced with -current.

        As for MTRR, below is the quote from Intel P2 manual:

The memory type range  registers (MTRRs) provide  a mechanism for associating
the  memory types  with physical-address  ranges  in system memory.  For more
information,  see Section 9.3., Methods  of Caching Available. They allow the
processor to optimize  operations for different types  of memory such as RAM,
ROM, frame-buffer memory, and  memory-mapped I/O devices.  They also simplify
system  hardware design by eliminating the  memory control pins used for this
function on earlier  Intel  Architecture processors  and  the external  logic
needed to drive them.

        So,  generally  speaking,  MTRRs  help  in precise   L1 and L2  cache
        tunning.  People from XFree86 team  claim it could boost  performance
        in 2..3  times. Did you notice  already new GIMP speed?  I did.  Very
        impressive.

 me> relevant dmesg output:

 me> pci0 at mainbus0 bus 0: configuration mode 1 pci0: i/o space, memory
 me> space enabled ppb0 at pci0 dev 1 function 0: VIA Technologies VT82C598
 me> (Apollo MVP3) PCI-AGP (rev. 0x00) pci1 at ppb0 bus 1 pci1: i/o space,
 me> memory space enabled vga0 at pci1 dev 0 function 0: 3Dfx Interactive
 me> Voodoo3 (rev. 0x01) XFree86 aperture driver version 1.99b Pentium Pro
 me> MTRR support enabled

 me> -- entropy -- it's not just a good idea, it's the second law.