Inter processador interrompe em um determinado núcleo

0

Atualmente, estou analisando um problema de desempenho na plataforma NXP para o aplicativo de encaminhamento do DPDK. A seguir estão as informações de configuração:

  1. Aplicativo executado no núcleo 7 e executado em um loop fechado para processamento de E / S de pacotes.
  2. As interfaces de rede
  3. 4 * 10G estão conectadas gerador de tráfego para entrada de tráfego.

No tráfego em execução, observo que o núcleo 7 tem alguma tarefa a ser feita no contexto do tratamento de IPI, de modo que 100% da largura de banda da CPU não esteja sendo utilizada pelo aplicativo DPDK. Abaixo está o instantâneo de tail / proc / interrupts.

raiz @ localhost: / usr / local / dpdk / dpaa2 # final / proc / interrupções

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
394:          0          0          0          0          0          0          0          0     ITS-fMSI 240024 Edge      vfio-irq[394](dpio.8)
395:          0          0          0          0          0          0          0          0     ITS-fMSI 240025 Edge      vfio-irq[395](dpio.9)
IPI0:      5912         88         90         88         87         86         88        202       Rescheduling interrupts
IPI1:        64       3203       3203       3203       3203       3203       3203       3139       Function call interrupts
IPI2:         0          0          0          0          0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0          0          0          0          0       CPU stop (for crash dump) interrupts
IPI4:         0          0          0          0          0          0          0          0       Timer broadcast interrupts
IPI5:  48795343         91     146481     146479     146481     146479         32   48816043       IRQ work interrupts
IPI6:         0          0          0          0          0          0          0          0       CPU wake-up interrupts

Agora estou investigando qual serviço é responsável por gerar essas interrupções de IPI. No meu caso, o IPI5 está sendo aumentado continuamente. Alguém pode me ajudar a descobrir a solução. Existe algum utilitário Linux para analisar / rastrear essas interrupções?

Obrigado antecipadamente.

Sunil Kumar

    
por sunil kumar 07.03.2018 / 10:52

1 resposta

0

Você deve conseguir rastrear a maioria dos motivos de ativação remota usando perf sched . Veja:

Uma vez que você tenha descoberto, pela primeira vez, o que acha que aciona os IPIs, é possível usar os exemplos mais detalhados para rastrear exatamente o que acontece.

Se nenhuma das coisas genéricas (mais fáceis de usar) funcionarem, tente rastrear

por Christian Ehrhardt 12.03.2018 / 07:48