On 2/4/07, Philip Walden <pwaldenlinux@xxxxxxxxxxx> wrote:
Sam Varshavchik wrote: > Evan Panagiotopoulos writes: > >> I have top running in a terminal window and there are two processes >> running, Xorg and top. Xorg is using 18% of the cpu. If I open another >> window the percent goes into the 30s and 40s. I don't think this is >> normal. >> >> Going to System->Administration->Display I see that I have the correct >> hardware installed, nVidia 41.9. The Dell system profile reports that I >> have a NV42 card. > > Are you using Nvidia's non-free binary kernel module? If so, remove > the module and revert to Xorg's free nv driver. You may need to > reinstall all Xorg packages; in some instances Nvidia's installer > overwrites Xorg's libraries. > > If X still chews up the CPU with Xorg's nv driver, report it in > Bugzilla. If X works correctly after you removed Nvidia's binary > module, take it up with Nvidia. I had a similar problem with the Xorg 7.0 server on FC5. turns out that the automatic setting of MTRR was turned off. They restored it with 7.1. When I properly set my MTRR, my Xorg cpu utilization went from 80% to 15%. Below is a cut from a recent posting I did explaining how to set it. > > Try: > cat /proc/mtrr > reg00: base=0x00100000 ( 1MB), size= 256MB: write-back, count=1 > reg01: base=0xfc000000 (4032MB), size= 32MB: write-combining, count=1 > > > > > > However, I'm having a hard time starting X, as it's already running! > > I've combed the logs in /var/logs but I don't have those lines. When I > > kill X with CTRL-ALT-ESC it starts right back up automatically, not > > letting me redirect it's output to a file. > I found mine using lspci > > # /sbin/lspci -v > : > 01:05.0 VGA compatible controller: nVidia Corporation NV5 [RIVA > TNT2/TNT2 Pro] (rev 15) (prog-if 00 [VGA]) > Subsystem: ASUSTeK Computer Inc. AGP-V3800 SDRAM > Flags: bus master, 66MHz, medium devsel, latency 40, IRQ 11 > Memory at f5000000 (32-bit, non-prefetchable) [size=16M] > Memory at fc000000 (32-bit, prefetchable) [size=32M] > <========== use the prefetchable > Capabilities: [60] Power Management version 1 > Capabilities: [44] AGP version 2.0 > > I then added this to /etc/rc.local: > > # set mtrr at least until Xorg 7.1 is added to the distribution > echo "base=0xfc000000 size=0x2000000 type=write-combining" >| /proc/mtrr > > > > Just for kicks, here's the output of "lspci -v" as suggested by the > > same page: > : > > 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon > > Mobility X1400 (prog-if 00 [VGA]) > > Subsystem: Dell Unknown device 2003 > > Flags: bus master, fast devsel, latency 0, IRQ 4 > > Memory at d0000000 (32-bit, prefetchable) [size=256M] > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > I/O ports at ee00 [size=256] > > Memory at efdf0000 (32-bit, non-prefetchable) [size=64K] > > [virtual] Expansion ROM at efd00000 [disabled] [size=128K] > > Capabilities: [50] Power Management version 2 > > Capabilities: [58] Express Legacy Endpoint IRQ 0 > > Capabilities: [80] Message Signalled Interrupts: 64bit+ > > Queue=0/0 Enable- > I would guess your's would look like: > > echo "base=0xd0000000 size=0x10000000 type=write-combining" >| /proc/mtrr > > -- > fedora-list mailing list > fedora-list@xxxxxxxxxx > To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list > > I noticed that you seemed to have a really good answer to this thread, > but I didn't want to but in to disrupt it. I am having the same issue > with my laptop. Here is my video card info for lspci-v: > > 01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7400 > (rev a1) (prog-if 00 [VGA]) > Subsystem: Dell Unknown device 01cc > Flags: bus master, fast devsel, latency 0, IRQ 16 > Memory at ed000000 (32-bit, non-prefetchable) [size=16M] > Memory at d0000000 (64-bit, prefetchable) [size=256M] > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > prefetchable memory start address at 0xd0000000 with the size of > 0x10000000 (== 256M in hex) >> Memory at ee000000 (64-bit, non-prefetchable) [size=16M] >> [virtual] Expansion ROM at ef000000 [disabled] [size=128K] >> Capabilities: <access denied> >> >> >> How do you calculate or figure out the information you gave in your >> echo line. If you know please let me know. > echo "base=<address> size=<memory size> type=write-combining" >| > /proc/mtrr > > in this case > > echo "base=0xd0000000 size=0x10000000 type=write-combining" >| /proc/mtrr
Hmm. I'm using Xorg's nv driver, not the Nvidia binary driver, and my Nvidia card is pretty old, so this may be totally irrelevant, but anyway: $ cat /proc/mtrr reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0xe0000000 (3584MB), size= 64MB: write-combining, count=1 $ /sbin/lspci -v ... VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2) (prog-if 00 [VGA]) Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 11 Memory at e4000000 (32-bit, non-prefetchable) [size=16M] Memory at d8000000 (32-bit, prefetchable) [size=128M] Unless I misunderstood your explanation, this means that the mtrr settings are not correct. Still, Xorg's cpu utilization is 0.3% (all this on a PIII, FC5, with regularly updated Xorg server). Andras