Talk:Page attribute table
Appearance
![]() | Computing Stub‑class ![]() | ||||||||||||
|
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)