Re: [Bug 10843] Display artifacts on XOrg logout with PAT kernel and VESA framebuffer

From: Frans Pop
Date: Sat Sep 13 2008 - 05:50:15 EST


On Saturday 13 September 2008, Pallipadi, Venkatesh wrote:
> >We have too many entires in PAT list due to RAM pages being marked
> >UC by drivers. Unfortunately, there are no quick fixes that can fix
> >this for 2.6.27. However, we are aware of the problem here and
> >working on a more complete fix for this. We should have the patch
> >for it soon.
>
> Can you try the patch here
> http://www.ussg.iu.edu/hypermail/linux/kernel/0809.1/2074.html
> And report back whether that resolves the issue.

Yes, that solves the issue. The display is now free of artifacts again,
both on logout and when I switch users in X.
The pat_memtype_list looks a lot more sane too (see attachment).

So it _was_ a regression caused by pat itself after all, and not the
result of incorrect memory handling in the framebuffer code.
Could you take over the bug report #10843 in bugzilla (it is currently
assigned to the framebuffer people) and ensure it gets closed once the
patch gets accepted in Linus' tree?

I'm glad you were able to get this sorted out.

Feel free to add my:
Tested-by: Frans Pop <elendil@xxxxxxxxx>

Thanks,
FJP

PAT memtype list:
uncached-minus @ 0x7f6e2000-0x7f6e3000
uncached-minus @ 0x7f6e4000-0x7f6e5000
uncached-minus @ 0x7f6f6000-0x7f6f7000
uncached-minus @ 0x7f6f6000-0x7f6f7000
uncached-minus @ 0x7f6f6000-0x7f6f7000
uncached-minus @ 0x7f6f6000-0x7f6f7000
uncached-minus @ 0x7f6f7000-0x7f6fc000
uncached-minus @ 0x7f6fc000-0x7f6fd000
uncached-minus @ 0x7f6fc000-0x7f6fd000
uncached-minus @ 0x7f6fc000-0x7f6fd000
uncached-minus @ 0x7f6fd000-0x7f6fe000
uncached-minus @ 0x7f6fd000-0x7f6fe000
uncached-minus @ 0x7f6fd000-0x7f6fe000
uncached-minus @ 0x7f6fd000-0x7f6fe000
uncached-minus @ 0x7f6fd000-0x7f6fe000
uncached-minus @ 0x80000000-0x90000000
uncached-minus @ 0x80000000-0x80020000
uncached-minus @ 0x80000000-0x80300000
uncached-minus @ 0x90100000-0x90120000
uncached-minus @ 0x90200000-0x90280000
uncached-minus @ 0x90200000-0x90280000
uncached-minus @ 0x90200000-0x90280000
uncached-minus @ 0x90280000-0x902c0000
uncached-minus @ 0x90280000-0x902c0000
uncached-minus @ 0x902c0000-0x902c4000
uncached-minus @ 0x902c4000-0x902c5000
uncached-minus @ 0x902c4000-0x902c5000
uncached-minus @ 0xfed00000-0xfed01000
uncached-minus @ 0xfed13000-0xfed14000
uncached-minus @ 0xfed1f000-0xfed20000
uncached-minus @ 0xfed40000-0xfed41000