Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O acesso da GPU a alocações que não são residentes é ilegal. Esse acesso resulta na remoção de um dispositivo para o aplicativo que gerou o erro.
Existem dois modelos distintos de tratamento desse acesso inválido, dependendo se o mecanismo de falha suporta endereçamento virtual de GPU:
Para mecanismos que não suportam endereçamento virtual de GPU e usam a lista de alocação e localização de patches para corrigir referências de memória:
Um acesso inválido ocorre quando o driver de modo de usuário envia uma lista de alocação que faz referência a uma alocação que não é residente no dispositivo (ou seja, o driver de modo de usuário não chamou MakeResidentCb nessa alocação). Quando esse acesso inválido ocorre, o kernel gráfico coloca o contexto/dispositivo defeituoso em erro.
Para mecanismos que suportam endereçamento virtual de GPU, mas acessam um endereço virtual de GPU (VA) inválido:
Espera-se que a GPU gere uma falha de página irrecuperável na forma de uma interrupção. Quando ocorre a interrupção de falha de página, o driver em modo kernel precisa encaminhar o erro para o kernel gráfico por meio de uma nova notificação de falha de página. Quando o kernel gráfico recebe essa notificação, ele inicia uma reinicialização do motor com falha e marca o contexto/dispositivo com falha como erro. Se a reinicialização do motor não for bem-sucedida, o kernel gráfico promove o erro para uma deteção e recuperação de tempo limite em todo o adaptador (TDR).
O acesso a um VA inválido pode acontecer porque não há alocação por trás do VA ou porque há uma alocação válida, mas ela não foi tornada residente.