Intel Arc Pro B70 Grafikkarte  Bild © IntelIntel Arc Pro B70 Grafikkarte (Bild © Intel)

Implementierung einer vRAM-Zustandsprüfroutine

Der Intel Xe-Treiber führt einen grundlegenden Mechanismus zur vRAM-Zustandsprüfung ein, der dazu dient, die letzte vRAM-Seite auf ihre Integrität zu überprüfen. Dieser Vorgang findet in der frühen Abtastphase statt, wobei die letzte Seite als „Kanarienvogel“ dient, um mehrere kritische Parameter zu überprüfen, darunter die Größe des Basisadressregisters (BAR), die Größe des zentralen Cache-Speichers (CCS) und die Einrichtung der Identitätszuordnung.

Diese Funktion dient speziell dazu, Konfigurationsfehler zu identifizieren. Bei bestimmter Battlemage (BMG)-Hardware kann der CCS-Offset möglicherweise mit einer Fehlausrichtung programmiert sein. Ohne ordnungsgemäße Erkennung kann diese Fehlausrichtung dazu führen, dass der CCS-Speicher fälschlicherweise als Standard-VRAM in den allgemeinen Allokator integriert wird. Um zu verhindern, dass diese Prüfungen Produktionsumgebungen beeinträchtigen, ist die Funktion derzeit gesperrt. Sie kann nur mithilfe des CONFIG_DRM_XE_DEBUG_MEM-Kernel-Build-Flags aktiviert werden.

Hardware-Speicherverschleiß und Offlining von Seiten

Eine wichtige Neuerung im Xe-Treiber ist die Unterstützung für das Offlining von Speicherseiten – eine Funktion, die 21 Runden technischer Überprüfung durchlaufen hat. Dieses Update ermöglicht es dem Kernel-Treiber, angemessen auf physischen Hardwareverschleiß im Videospeicher zu reagieren. Der Offlining-Mechanismus ermöglicht es dem Treiber, fehlerhafte vRAM-Seiten zu identifizieren und sie dauerhaft aus dem verfügbaren Speicherpool zu entfernen. Indem er diese defekten Bereiche ausblendet, stellt der Treiber sicher, dass bei nachfolgenden Speicherzuweisungen keine instabilen oder beschädigten Seiten wiederverwendet werden, was die allgemeine Systemstabilität erhöht.

Um Transparenz zwischen Kernel und Benutzerraum zu gewährleisten, macht der Treiber diese fehlerhaften Speicherbereiche über DebugFS sichtbar. So können Systemadministratoren und Entwickler den Zustand des GPU-Speichers überwachen und bestimmte Bereiche mit Hardwarefehlern identifizieren.

Zusätzlich zu den Verbesserungen beim Speicherstatus führt der neueste Pull-Request die Möglichkeit ein, den Leerlaufstatus einzelner Engines zu überwachen. Diese Daten werden nun über DebugFS bereitgestellt und bieten einen detaillierteren Einblick in den Betriebszustand der verschiedenen Verarbeitungs-Engines der GPU.