ILTiming.exe
9/8/2008
ILTiming.exe determina a rotina serviço interrupção (ISR) e latências segmento (ist) serviço interrupção. Por padrão, essa ferramenta usa a interrupção marcação sistema como vetor de interrupção testar. No entanto, nem todas as plataformas hardware têm um não usado timer disponível.
Para determinar as latências interrupção ISR e IST, ILTiming.EXE Define o timer para retornar SYSTINTR_TIMING intervalos marcação especificado. ILTiming.exe aguarda o evento interrupção SYSINTR_TIMING, assim, se tornando o ist. ILTiming.exe obtém o atual tempo cada tempo que recebe a mensagem SYSTINTR_TIMING.
Mensagem | Descrição |
---|---|
ILTIMING_MSG_ENABLE |
A OAL usa a marcação sistema para causar um evento interrupção SYSINTR_TIMING. Há campos estrutura são atualizados. |
ILTIMING_MSG_DISABLE |
A OAL unhooks a marcação sistema a partir de timer, fazendo com que um evento interrupção SYSINTR_TIMING. Há campos estrutura são atualizados. |
ILTIMING_MSG_GET_TIMES |
A OAL preenche estrutura todos os campos exceto pfnPerfCountSinceTick. |
ILTIMING_MSG_GET_PFN |
Essa função é chamado no modo kernel diretamente a partir de aplicativo para minimizar sobrecarga. |
ILTiming requer modificações especiais para a OAL, mas não o kernel. Ele deve executar em qualquer um dos exemplos e modelos design.
Você pode usar o seguinte linha de comando parâmetros com a ferramenta ILTiming.exe.
iltiming [-i0] [-i1] [-i2] [-i3] [-i4] [-p priority] [-ni]
[-t interval] [-n interrupt] [-all] [-o file_name] [-h]
A seguinte tabela mostra a linha de comando parâmetros usados com ILTiming.
Parâmetro de linha de comando | Descrição |
---|---|
-i0 |
Indica que há não ocioso segmento. Isso é equivalente a usar o -ni parâmetro. |
-I1 |
Ocioso executa segmento tipo 1. |
-I2 |
Ocioso executa segmento tipo 2. |
-I3 |
Ocioso executa segmento tipo 3. |
-I4 |
Ocioso executa segmento tipo 4. |
-I5 |
Ocioso executa segmento tipo 5. |
-p prioridade |
Indica a prioridade ist. O configuração padrão é zero, de prioridade mais alta. |
-ni |
Indica que há não ocioso segmento prioridade. O configuração padrão é igual ao número de ocioso gira segmento prioridade. Isso é equivalente a usar o -i0 parâmetro. |
-t intervalo |
Indica o intervalo temporização SYSINTR_TIMING, com tiques relógio em milissegundos. O configuração padrão é 5. |
-n interrupção |
Indica o número de interrupções. O configuração padrão é 10. |
-Todos os |
Especifica a saída todos os dados. O configuração padrão é a saída apenas o resumo. |
-o nome_do_arquivo |
Especifica a saída para arquivo. O configuração padrão é a saída para o janela de mensagem depurador. |
-h |
Exibe uma Tela de ajuda. |
Você pode escolher para executar o ist em um dos níveis de prioridade 256 usando o -p parâmetro.
Você pode ter um ocioso segmento execução em de segundo plano que afeta as latências IST, permitindo o kernel em um chamar kernel non-preemptive que deve concluir antes que seja o ist executar. O ocioso tipos segmento descritos a seguinte tabela.
Tipo de segmento ocioso | Descrição |
---|---|
Ocioso segmento 1 |
Um segmento girando. |
Idle thread 2 |
Segmento um girando, chamado SetThreadPriority (THREAD_PRIORITY_IDLE). |
Idle thread 3 |
Dois segmentos alternadas SetEvent e WaitForSingleObject com um tempo limite 10-Second. |
Idle thread 4 |
Dois segmentos alternadas SetEvent e WaitForSingleObject Com um tempo limite infinito. |
Idle thread 5 |
Um segmento girando, chamado tanto VirtualAlloc VirtualFree ou ambos. Projetado para liberado a armazenar em cache e a reserva look-aside de conversão (Cargas de TLB). |
A taxa ISR é definida pela -t parâmetro. A seguinte entrada linha de comando faz com que o sistema marcação ISR retornar SYSINTR_TIMING cada décima marcação:
iltiming -t10
Codificar a origem para ILTiming.exe está incluído no Platform Builder.