Philip Walden <pwaldenlinux@xxxxxxxxxxx> wrote: > Looks like it is a xorg bug such that it does not set MTRR reducing AGP > performance by 2X: > https://bugs.freedesktop.org/show_bug.cgi?id=6221 > https://bugs.freedesktop.org/show_bug.cgi?id=5801 > Explains why I am seeing this recently too as xorg 7.0 was installed > late August. Fixed in xorg 7.1 > > I submitted a bug to redhat > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217446 > > After manually setting /proc/mtrr, xorg cpu usage has dropped from 70% > to 20%. I've the same problem here with FC5 and FC6 (Pentium III 600 MHz with 256 MB main memory, nVidia NV11 GeForce2 MX/MX 400 with 64 MB graphics memory). No additional MTRR settings (write-combined) for the graphics card are displayed. The kernel seems to complain about something during boot (according to dmesg): PCI: Failed to allocate mem resource #6:10000@f8000000 for 0000:01:00.0 PCI: Bridge: 0000:00:01.0 IO window: disabled. MEM window: e9000000-e9ffffff PREFETCH window: f0000000-f7ffffff This seems to be related to the graphics card somehow (AGP Bridge), although it don't know how to fix or if it does any harm at all. According to "lspci -v", this seems to be the related entry: 00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, 66MHz, medium devsel, latency 128 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 Memory behind bridge: e9000000-e9ffffff Prefetchable memory behind bridge: f0000000-f7ffffff However, in general graphics seem to work though (Linux + Windows) except for the poor performance. Well, then how do I change MTRR settings correctly? According to "lspci -v", I've found these two more entries for graphics. The first one is the AGP Aperture area: 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) Flags: bus master, medium devsel, latency 64 Memory at ec000000 (32-bit, prefetchable) [size=64M] Capabilities: [a0] AGP version 1.0 The second one is the graphics card itself: 01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2) (prog-if 00 [VGA]) Subsystem: Elsa AG Gladiac 511TV-OUT 64MB Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 11 Memory at e9000000 (32-bit, non-prefetchable) [size=16M] Memory at f0000000 (32-bit, prefetchable) [size=128M] Capabilities: [60] Power Management version 2 Capabilities: [44] AGP version 2.0 Why does it say "128M" at "0xf0000000" although the card only has 64 MB on-board RAM? Does this make any sense? Should I add only one MTRR entry at 0xf0000000 for 128 MB or two MTRR entries at 0xec000000 and 0xf0000000 with 64 MB each? The kernel doesn't seem to keep me from writing whatever I want to /proc/mtrr, so it's hard to say what's correct and what's not. That's all weird... I'd really wish that the kernel or the X server would do the MTRR stuff itself (like it does on a different machine with a P4 CPU and an ATI Radeon 9700 card). *sigh* Help appreciated ... Andreas