** Summary changed: - X slower after upgrade to 4GB RAM + MTRRs set up incorrectly with 4GB RAM -> X slow
** Description changed: + After upgrading my Laptop to 4GB RAM my MTRRs are set up in such a way + that X can't set up a write-combining range for the video memory + anymore, causing a noticable loss of performance + + /proc/mtrr with 2GB: + reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 + reg01: base=0x7f700000 (2039MB), size= 1MB: uncachable, count=1 + reg02: base=0x7f800000 (2040MB), size= 8MB: uncachable, count=1 + reg03: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 + + /proc/mtrr with 4GB: + reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 + reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 + reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 + reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 + reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 + + The video memory is at 0xd0000000 (256MB). Note that this range is + already included in reg00 and reg01, so the X server cannot set up a + write-combining range. + + If I manually fix the ranges to look like this: + reg00: base=0xc0000000 (3072MB), size= 256MB: uncachable, count=1 + reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 + reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 + reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 + reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 + reg05: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 + reg06: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 + + , i.e. explicitly excluding 0xd0000000 (256MB) from both problematic ranges, then the X server can set up the write-combining range again: + reg00: base=0xc0000000 (3072MB), size= 256MB: uncachable, count=1 + reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 + reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 + reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 + reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 + reg05: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 + reg06: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 + reg07: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 + + I'm not sure who is responsible for the MTRRs. Or in case of a broken + BIOS, if the kernel can sanitize them anyway. + + Original description: + ----- Binary package hint: xserver-xorg-video-intel Today I upgraded my RAM from 1GB to 4GB. Everything worked fine but I noticed that scrolling in Firefox and dragging windows is noticeably slower than before. I checked this again by removing 2GB and got the same results (i.e. 2GB -> fast scrolling, 4GB -> slower scrolling) I suspect it has to do with this line from the X server: (WW) intel(0): Failed to set up write-combining range (0xd0000000,0x10000000) If this is something the kernel is responsible for, please feel free to reassign accordingly. I have no options in my BIOS to change anything that might be relevant to this (memory mapping, etc.) This is a Samsung Q45 with Intel X3100 graphics. I'll attach more debug info. ProblemType: Bug Architecture: i386 Date: Wed Apr 2 14:18:58 2008 DistroRelease: Ubuntu 8.04 Package: xserver-xorg-video-intel 2:2.2.1-1ubuntu6 PackageArchitecture: i386 ProcEnviron: SHELL=/bin/bash PATH=/home/username/bin:/home/username/bin:/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LANG=de_DE.UTF-8 SourcePackage: xserver-xorg-video-intel Uname: Linux 2.6.24-12-server i686 ** Description changed: After upgrading my Laptop to 4GB RAM my MTRRs are set up in such a way that X can't set up a write-combining range for the video memory anymore, causing a noticable loss of performance /proc/mtrr with 2GB: reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x7f700000 (2039MB), size= 1MB: uncachable, count=1 reg02: base=0x7f800000 (2040MB), size= 8MB: uncachable, count=1 reg03: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 + (last range added by X server) /proc/mtrr with 4GB: reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 The video memory is at 0xd0000000 (256MB). Note that this range is already included in reg00 and reg01, so the X server cannot set up a write-combining range. If I manually fix the ranges to look like this: reg00: base=0xc0000000 (3072MB), size= 256MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 reg05: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 reg06: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 , i.e. explicitly excluding 0xd0000000 (256MB) from both problematic ranges, then the X server can set up the write-combining range again: reg00: base=0xc0000000 (3072MB), size= 256MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 reg05: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 reg06: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg07: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 + (last range added by X server) - I'm not sure who is responsible for the MTRRs. Or in case of a broken - BIOS, if the kernel can sanitize them anyway. + I'm not sure who is responsible for the MTRRs, BIOS or kernel or both. + In case of a broken BIOS, maybe the kernel can sanitize them anyway. Original description: ----- Binary package hint: xserver-xorg-video-intel Today I upgraded my RAM from 1GB to 4GB. Everything worked fine but I noticed that scrolling in Firefox and dragging windows is noticeably slower than before. I checked this again by removing 2GB and got the same results (i.e. 2GB -> fast scrolling, 4GB -> slower scrolling) I suspect it has to do with this line from the X server: (WW) intel(0): Failed to set up write-combining range (0xd0000000,0x10000000) If this is something the kernel is responsible for, please feel free to reassign accordingly. I have no options in my BIOS to change anything that might be relevant to this (memory mapping, etc.) This is a Samsung Q45 with Intel X3100 graphics. I'll attach more debug info. ProblemType: Bug Architecture: i386 Date: Wed Apr 2 14:18:58 2008 DistroRelease: Ubuntu 8.04 Package: xserver-xorg-video-intel 2:2.2.1-1ubuntu6 PackageArchitecture: i386 ProcEnviron: SHELL=/bin/bash PATH=/home/username/bin:/home/username/bin:/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LANG=de_DE.UTF-8 SourcePackage: xserver-xorg-video-intel Uname: Linux 2.6.24-12-server i686 -- MTRRs set up incorrectly with 4GB RAM -> X slow https://bugs.launchpad.net/bugs/210780 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs