Estou tentando desativar as interrupções do timer local para baixa latência. Eu tenho o modo full tickless ativado na configuração do kernel e tenho o parâmetro de inicialização nohz_full configurado para os núcleos em questão.
No entanto, quando olho para a contagem de interrupções através de / proc / interrupts, vejo que o cronômetro local interrompe a contagem de até 1000 vezes por segundo, o que significa que o tickless completo não está funcionando.
A documentação do modo tickless diz que, para o tickless funcionar, apenas um processo em execução precisa estar nesse núcleo.
Quando olho para o topo, vejo o seguinte em um determinado núcleo (núcleo 1 neste exemplo):
19 root RT 0 0 0 0 S 0.0 0.0 0:00.00 1 watchdog/1
20 root -2 0 0 0 0 S 0.0 0.0 0:02.15 1 rcuc/1
21 root RT 0 0 0 0 S 0.0 0.0 0:00.04 1 migration/1
22 root -2 0 0 0 0 S 0.0 0.0 0:00.25 1 ksoftirqd/1
23 root RT 0 0 0 0 S 0.0 0.0 0:00.00 1 posixcputmr/1
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 1 kworker/1:0
25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 1 kworker/1:0H
Eu sei que alguns deles são threads do kernel. Estas são a razão pela qual o meu modo completo sem tickless não está funcionando?
Tags performance kernel linux