Für den Linux-7.4-Kernelzyklus wurden zwei Änderungen am Intel-Xe-Treiber gemeldet: Ein früher Check soll die letzte VRAM-Seite prüfen; eine separate Funktion soll bekannte defekte Speicherseiten von späteren Zuteilungen ausschließen. Die erste Änderung ist an eine Debug-Konfiguration gebunden, die zweite kümmert sich um bereits bekannte Speicherfehler.
Zwei Änderungen, zwei Aufgaben
| Mechanismus | Vorgesehener Zweck | Zeitpunkt | Bedingung oder Sichtbarkeit |
| Früher VRAM-Check | Soll die letzte VRAM-Seite als Prüfpunkt nutzen und Probleme bei BAR- und CCS-Größen sowie beim Aufbau der Identity Map aufspüren. | Während der frühen Treiberinitialisierung | An CONFIG_DRM_XE_DEBUG_MEM gebunden. |
| Auslagerung defekter Seiten | Soll bekannte defekte physische VRAM-Seiten dauerhaft von späteren Speicherzuteilungen ausschließen. | Bei künftigen Speicherzuteilungen | Betroffene Bereiche sollen im DebugFS sichtbar sein. |
Der erste Mechanismus prüft den frühen Speichersetup; der zweite soll verhindern, dass bekannte fehlerhafte Seiten erneut zugewiesen werden. Es sind unterschiedliche Aufgaben, auch wenn beide die Verwaltung des Grafikspeichers betreffen.
Die letzte VRAM-Seite als Prüfpunkt
Der geplante Frühcheck soll die letzte Seite des Videospeichers als eine Art Prüfmarke nutzen. Dabei soll der Treiber unter anderem die Größenbestimmung des BAR und der CCS sowie den Aufbau der Identity Map überprüfen. Die Prüfung ist an die Build-Option CONFIG_DRM_XE_DEBUG_MEM gebunden.
Als Motivation wurde ein Problem bei einigen Battlemage-Karten genannt: Ein falsch ausgerichteter CCS-Offset konnte dazu führen, dass Speicher für Kompressionsmetadaten wie gewöhnlicher VRAM behandelt und dem normalen Allokator zugeordnet wurde. Der Check soll solche Probleme beim frühen Treiberstart aufspüren.
Bekannte defekte Seiten aus späteren Zuteilungen ausschließen
Die separate Änderung soll bekannte fehlerhafte physische VRAM-Seiten dauerhaft aus künftigen Speicherzuteilungen herausnehmen. So soll der Treiber diese Seiten nicht erneut für spätere Zuweisungen verwenden. Die betroffenen Bereiche sollen im DebugFS sichtbar sein.
Damit stehen zwei unterschiedliche Schritte im Mittelpunkt: Der Frühcheck soll bestimmte Probleme bei der Speicherinitialisierung erkennen; die Auslagerung soll bereits bekannte defekte Seiten von späteren Zuteilungen ausschließen.