Accesso all'allocazione non rientri
L'accesso alla GPU alle allocazioni che non sono residenti non è illegale. Tale accesso comporta la rimozione di un dispositivo per l'applicazione che ha generato l'errore.
Esistono due modelli distinti di gestione di tale accesso non valido a seconda che il motore di errore supporti l'indirizzamento virtuale DELLA GPU:
Per i motori che non supportano l'indirizzamento virtuale della GPU e usare l'elenco di posizioni di allocazione e patch per applicare patch ai riferimenti alla memoria:
Un accesso non valido si verifica quando il driver in modalità utente invia un elenco di allocazione che fa riferimento a un'allocazione che non è residente nel dispositivo, ovvero il driver in modalità utente non ha chiamato MakeResidentCb in tale allocazione. Quando si verifica questo accesso non valido, il kernel grafico inserisce il contesto o il dispositivo difettoso in errore.
Per i motori che supportano l'indirizzamento virtuale GPU, ma accedere a un indirizzo virtuale GPU (VA) non valido:
La GPU dovrebbe generare un errore di pagina non recuperabile sotto forma di interruzione. Quando si verifica l'interruzione di errore della pagina, il driver in modalità kernel deve inoltrare l'errore al kernel grafico tramite una nuova notifica di errore di pagina. Quando il kernel grafico riceve questa notifica, avvia una reimpostazione del motore nel motore di errore e inserisce il contesto o il dispositivo difettoso in errore. Se la reimpostazione del motore ha esito negativo, il kernel grafico promuove l'errore in un rilevamento di timeout a livello di adattatore completo e ripristino (TDR).
L'accesso a un va non valido può verificarsi perché non esiste un'allocazione dietro l'va o c'è un'allocazione valida, ma non è stata effettuata la residenza.