Talk:Page attribute table

Something
See Documentation/x86/pat.txt in Linux. Here's what I take from that page (I know nothing about these things, so take it with a grain of salt):


 * PAT is for page-level cache control.
 * MTRR only allows setting attributes for a few memory ranges (4?) but PAT allows arbitrarily many
 * PAT sets attributes for pages, not for arbitrary memory ranges. So it is not clear to me it completely replaces MTRR, even if in all real applications it does (does it?).
 * Like MTRR, the attributes set are about caching behavior. Setting attributes allows some speedups without violating cache-coherency, so it gets used for memory mapped to the display framebuffer and things like that.
 * PAT did not always exist. There is no CPU flag to detect it.

And from arch/x86/kernel/cpu/intel.c we learn:

There is a known erratum on Pentium III and Core Solo and Core Duo CPUs. " Page with PAT set to WC while associated MTRR is UC  may consolidate to UC " Because of this erratum, it is better to stick with setting WC in MTRR rather than using PAT on these CPUs. Enable PAT WC only on P4, Core 2 or later CPUs.

So PAT must have existed even on the Pentium III, but on Linux at least it is not used on CPUs older than a Pentium 4.

Hope that helps!

98.212.3.231 (talk) 16:57, 19 September 2009 (UTC)

Intel only?
There are plenty of processors after pentium 3 but does this article actually mean later than P3 intel processors? 85.77.164.157 (talk) 05:43, 29 March 2010 (UTC)
 * Looks like it's not intel only. Which is good. 85.77.212.164 (talk) 14:20, 29 March 2010 (UTC)

Page Attribute Tables are found on Intel-based architectures only (e.g. Intel, AMD) so it seems like an x86-only feature. I could found no reliable traces of any other processor architecture with that technology. Michal Januszewski (aka Spock) was the author of the bootsplash library on Gentoo Linux. His documentation stated MTRR (which PAT extends) was found on Intel-based architectures only. The source (http://dev.gentoo.org/~spock/projects/uvesafb) is no longer available. 213.177.85.117 (talk) 09:57, 16 August 2013 (UTC) Vince C.