Estou testando o meu proxy UDP em uma máquina com 8 CPUs lógicas. Em cerca de 14 mil clientes UDP, uma das CPUs (CPU 4) começa a aumentar e a taxa de transferência UDP (conforme mostrado pelo Gerenciador de Tarefas) cai para zero. Usei o WPR para registrar o uso da CPU durante o pico e o WPA mostra a CPU 4 manipulando duas vezes mais fragmentos DPC / ISR (~ 11K) que todas as outras CPUs (~ 5K cada). O fragmento DPC mais longo correu por 232 milissegundos, os próximos 5 fragmentos DPC todos correram por mais de 100 milissegundos, e os próximos 57 correram entre 1 e 90 milissegundos.
Um fragmento é definido como "um período de tempo durante o qual um DPC ou ISR é executado ininterruptamente". (consulte link )
A Microsoft recomenda que os fragmentos DPC sejam executados por não mais que 100 microssegundos! (consulte link )
O bxvbda.sys é o módulo (Broadcom NetXtreme II GigE VBD) e um_bdrv_dpc é a função de todos esses fragmentos DPC de longa execução.
Então, minha pergunta é: Estou interpretando corretamente os dados do WPA para DPCs?
[EDIT]AdicionandoimagemdousodoDPCporpilha
Tags performance networking windows cpu xperf