O kernel do Linux é a espinha dorsal dos sistemas operacionais (SO) Linux e é a interface fundamental entre o hardware de um computador e seus processos.
A versão 6.2 do kernel Linux foi lançada recentemente, trazendo consigo uma série de ótimos recursos, incluindo melhorias na compatibilidade com hardware e aprimoramentos contínuos do "Rust For Linux". Este lançamento é, sem dúvida, um passo importante que abre muitas possibilidades para melhorias no Linux 6.3 (se você quiser saber mais sobre o lançamento do Kernel 6.2, pode conferir os detalhes nesta publicação ).
Para a próxima versão do kernel Linux, vários recursos estão sendo ajustados por meio de commits, e um dos recursos importantes adicionados ao Linux 6.3 é a nova ferramenta rtla hwnoise.
rtla hwnoise (Real-time Linux hardware analysis noise) é uma ferramenta para detectar e quantificar ruídos relacionados ao hardware . Ela recupera o resumo periódico do rastreador osnoise em execução com as interrupções desativadas.
Ao desativar as interrupções e o agendamento de threads, apenas o ruído relacionado a interrupções e o hardware não mascarável são permitidos.
Segundo os responsáveis pela ferramenta, ela também permite configurações de rastreamento de ruído e a coleta da saída do rastreador. Em resumo, o rtla hwnoise oferece funcionalidade semelhante ao osnoise (ruído do sistema operacional), exibindo apenas interrupções não mascaráveis (NMI) e ruído relacionado ao hardware.
Em princípio, o ruído de hardware deveria ser zero no Linux . No entanto, verifica-se que isso nem sempre acontece. Durante o funcionamento do sistema operacional, podem-se encontrar duas fontes principais de ruído.
Ruído de operações do sistema operacional e ruído relacionado ao hardware. No contexto da computação de alto desempenho (HPC), por exemplo, o ruído do sistema operacional (osnoise) refere-se à interferência sofrida por um aplicativo devido a atividades dentro do sistema operacional. No contexto do Linux, NMI, IRQ, SoftIRQ e qualquer outro encadeamento do sistema podem causar ruído no sistema. Em cujo caso,
No Linux, embora possam existir outros, quatro contextos de execução principais podem interferir em uma carga de trabalho: interrupções não mascaráveis (NMI), interrupções mascaráveis (IRQs), softirqs (atividades de IRQ adiadas) e threads. Além desses ruídos relacionados ao sistema, cargas relacionadas ao hardware também podem causar ruído, por exemplo, por meio de SMI.
É neste último caso que a ferramenta rtla hwnoise foi desenhada. Para entender melhor como funciona a ferramenta de medição e monitoramento de ruído relacionado ao hardware, é recomendável recorrer à ferramenta osnoise do Linux, pois é derivada dela.
No Linux, existem dois tipos de ferramentas para medir o ruído do sistema operacional: ferramentas baseadas em carga de trabalho e ferramentas baseadas em rastreamento. As ferramentas baseadas em carga de trabalho normalmente executam microbenchmarks com duração conhecida e medem a diferença entre a duração planejada do microbenchmark e o tempo real necessário para processá-lo. Embora sejam boas para definir a quantidade de ruído do sistema operacional que uma carga de trabalho pode apresentar, as ferramentas baseadas em carga de trabalho não conseguem identificar as causas raiz desse ruído.
Os métodos baseados em rastreamento aproveitam os recursos de rastreamento do kernel do Linux para identificar a causa do ruído do sistema operacional. No entanto, esses métodos baseados em rastreamento não levam em consideração como o ruído é percebido pelas cargas de trabalho. E é por isso que a ferramenta osnoise foi projetada. Ele aproveita ao máximo os métodos baseados em carga de trabalho e rastreamento, mostrando as causas principais do ruído do sistema operacional e levando em consideração como o ruído é percebido pela carga de trabalho.
Juntamente com o osnoise, temos a ferramenta rtla osnoise, que é uma interface para o rastreador osnoise. O rastreador osnoise executa um loop no kernel, medindo o tempo disponível. Ele faz isso com as opções preference, softirq e IRQ habilitadas, permitindo que todas as fontes de ruído sejam ouvidas enquanto estiver em execução.
Com o rtla hwnoise, usuários e desenvolvedores que se importam com cada microssegundo roubado por instruções falsas enviadas pelo hardware poderão medir com precisão esses ruídos e tomar decisões de acordo, sabendo que, para operações em tempo real, cada microssegundo ganho pelo processador tem valor. .
Fonte: https://git.kernel.org