Messages in this thread Patch in this message |  | | From | Frans Pop <> | Subject | Re: [Bug 10843] Display artifacts on XOrg logout with PAT kernel and VESA framebuffer | Date | Mon, 16 Jun 2008 12:53:09 +0200 |
| |
On Monday 16 June 2008, Suresh Siddha wrote: > If the initlevel is '3', then the mtrr option will show up in > /proc/mtrr otherwise not.
What is this init level and how would I set it? Do I need to?
> In init level '5', X server will add the mtrr > (irrespective of boot option, if it's not already there) and will > remove it when the X process completes its execution.
That was a useful pointer. I do see some differences when I compare Xorg logs; see below.
> Can you also please try if "mtrr:1" makes any difference. This will > setup the mapping as UC during boot. Apart from PAT WC mapping(which we > shouldn't be using in your current setup), UC MTRR should override all > the other PAT mappings and should be consistent across X and VT console > mappings. As such, if the problem is because of improper aliasing, then > with this UC MTRR, my understanding is that we shouldn't see any > artifacts with the "mtrr:1". > with this mtrr:1, we should now see a UC mtrr setting in /proc/mtrr.
mtrr:1 still gives the artifacts and no any difference to /proc/mtrr.
Here's /proc/cmdline + /proc/mtrr for three different boots: root=/dev/mapper/main-root ro vga=791 quiet reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x7f800000 (2040MB), size= 8MB: uncachable, count=1 reg02: base=0x7f700000 (2039MB), size= 1MB: uncachable, count=1 reg03: base=0x80000000 (2048MB), size= 256MB: write-combining, count=1
root=/dev/mapper/main-root ro vga=791 quiet video=vesafb:mtrr:1 reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x7f800000 (2040MB), size= 8MB: uncachable, count=1 reg02: base=0x7f700000 (2039MB), size= 1MB: uncachable, count=1 reg03: base=0x80000000 (2048MB), size= 256MB: write-combining, count=1
root=/dev/mapper/main-root ro vga=791 quiet video=vesafb:mtrr:3 reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x7f800000 (2040MB), size= 8MB: uncachable, count=1 reg02: base=0x7f700000 (2039MB), size= 1MB: uncachable, count=1 reg03: base=0x80000000 (2048MB), size= 256MB: write-combining, count=1
I do see some differences in Xorg logs, so it does seem that the mtrr options _are_ being recognized. Attached my "normal" Xorg log (with 'vga=791') which I used as the base for the diffs below. Other than shown, the logs are identical.
With mtrr:1 I get (added at the end of the log): @@ -688,3 +688,11 @@ (II) evaluating device (Generic Keyboard) (II) XINPUT: Adding extended input device "Generic Keyboard" (type: KEYBOARD) (II) Configured Mouse: ps2EnableDataReporting: succeeded +(II) intel(0): xf86UnbindGARTMemory: unbind key 0 +(II) intel(0): xf86UnbindGARTMemory: unbind key 1 +(II) intel(0): xf86UnbindGARTMemory: unbind key 2 +(II) intel(0): xf86UnbindGARTMemory: unbind key 3 +(II) intel(0): xf86UnbindGARTMemory: unbind key 4 +(II) intel(0): [drm] removed 1 reserved context for kernel +(II) intel(0): [drm] unmapping 8192 bytes of SAREA 0x2efff000 at 0x7f2788ab9000 +(II) intel(0): [drm] Closed DRM master. And with mtrr:3 (added in the middle): @@ -577,6 +577,7 @@ (II) intel(0): [drm] Initialized kernel agp heap manager, 33554432 (II) intel(0): [dri] visual configs initialized (II) intel(0): Page Flipping disabled +(==) intel(0): Removed MMIO write-combining range (0x80000000,0x400000) (==) intel(0): Write-combining range (0x80000000,0x10000000) (II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000 (II) EXA(0): Offscreen pixmap area of 39321600 bytes
I've also checked with 'nopat'. That gives no differences in /proc/mtrr, and also no differences in the Xorg log when compared with my normal boot (vga=791).
Cheers, FJP
[unhandled content-type:application/x-gzip] |  |