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.
Quando um computador é iniciado a partir de um estado de espera ou hibernação (inicialização a quente), os drivers devem evitar o uso de recursos do processador por mais tempo do que o necessário. Mais importante ainda, as rotinas de chamada de procedimento diferido (DPC) e o código que é executado em IRQL >= DISPATCH_LEVEL devem manter seus tempos de execução a um mínimo. Os drivers usam rotinas DPC para ajudar a inicializar dispositivos. Os drivers podem precisar executar o código de inicialização no DISPATCH_LEVEL como parte de um contrato de interface porta-miniporta.
Enquanto uma rotina DPC é executada, outros threads de prioridade mais baixa são impedidos de serem executados no mesmo processador. Além disso, outras rotinas de DPC que estão enfileiradas e prontas para serem executadas podem ser bloqueadas até que o DPC atual seja concluído. Para permitir que outros threads sejam executados rapidamente, uma rotina DPC típica deve ser executada por no máximo 100 microssegundos.
Uma rotina DPC que é executada por muito tempo durante a inicialização do sistema pode atrasar a inicialização de outros dispositivos. Esse atraso torna a fase de inicialização do dispositivo mais longa e atrasa a conclusão da inicialização pelo sistema operacional.
Use as seguintes práticas recomendadas para projetar suas rotinas de DPC:
Uma única rotina DPC não deve ser executada por mais de 100 microssegundos.
As rotinas DPC que chamam a rotina KeStallExecutionProcessor para atrasar a execução não devem especificar atrasos superiores a 100 microssegundos.
Se uma tarefa exigir mais de 100 microssegundos e for executada em DISPATCH_LEVEL, a rotina DPC deve terminar após 100 microssegundos e agendar uma ou mais rotinas de temporizador DPC para concluir a tarefa posteriormente.
Use as ferramentas de análise de desempenho documentadas no WDK para avaliar os tempos de execução das rotinas do DPC.