Comment 41 for bug 210780

Revision history for this message
D. Hugh Redelmeier (hugh-mimosa) wrote :

@Nigel:
Your BIOS has chosen to set up the MTRRs in a way that cannot be fixed by the kernel (or mtrr-uncover) without changing the memory caching ranges.
The BIOS uses overlapping ranges. That won't work when the system wants to change uncachable to write-combining for an X driver.

The kernel (and mtrr-uncover) try to set up equivalent non-overlapping ranges. mtrr-uncover says that to do this it needs more MTRRs than the architecture has.

Newer X drivers don't use MTRRs to do that change. I don't remember what the rules are for the newer "PAT" mechanism. It may be that the problem no longer matters.

I tried to explain much of this in the mtrr-uncover documentation.

1) you could ignore this and hope that performance isn't impacted. You could even test this (perhaps by ditching some RAM)

2) you could figure out another MTRR layout that would work. You would have to figure out if the uncachable range could be made simpler (larger) without breaking anything. Then 8 MTRRs should be enough.