Por que CONFIG_NO_HZ não está definido por padrão

4

No Kernel do Linux CONFIG_NO_HZ não está definido. Mas uma leitura inicial sugere que definir essa opção seria bom do ponto de vista do desempenho. Mas ler algumas postagens como essa me fez pensar novamente.

Por que CONFIG_NO_HZ não está definido por padrão ou por que não há melhora de desempenho quando está ativado?

    
por user3539 30.07.2013 / 19:06

2 respostas

3

A melhoria de desempenho não é visível para todos, apenas alguns usuários para os quais os kernels RT realmente importam: DSP, processamento de áudio / vídeo e assim por diante. Assim, essa opção de configuração não é universalmente benéfica, portanto, desativada.

    
por 30.07.2013 / 19:42
4

Carrapatos são interrupções geradas por um cronômetro de hardware e ocorrem em um intervalo regular determinado pela configuração do kernel CONFIG_HZ, que para a maioria das arquiteturas pode ser configurado ao compilar o kernel. A interrupção do tick é uma interrupção por CPU. A partir do Linux 2.6.21, o recurso de marcações dinâmicas ociosas pode ser configurado usando o Opção de configuração do kernel CONFIG_NO_HZ. O objetivo era eliminar as interrupções de ticks durante a inatividade, para poder entrar em modos de sono mais profundos. Isso é importante para os laptops, mas também pode reduzir as contas de energia para as salas de servidores. O Linux 3.10.0 introduziu o recurso completo de ticks dinâmicos para eliminar interrupções de ticks ao executar uma única tarefa em uma CPU. O objetivo aqui era oferecer suporte melhor à computação de alto desempenho e aos casos de uso em tempo real, certificando-se de que o thread fosse executado sem ser perturbado. A configuração anterior CONFIG_NO_HZ foi renomeada para CONFIG_NO_HZ_IDLE, e o novo recurso recebeu a nova opção de configuração CONFIG_NO_HZ_FULL.

A resposta à sua pergunta é que CONFIG_NO_HZ (_IDLE) aumenta o custo de entrar e sair do estado ocioso, aumentando ligeiramente o tempo necessário para que uma CPU inativa volte ao trabalho. Esse custo pode ser considerado excessivo em ambientes altamente sensíveis à latência. Para todos os outros, desabilitar o cronômetro para CPUs inativas é quase certamente a coisa certa a fazer; para sistemas alimentados por bateria que é duplamente verdade.

Verifique isso: link

    
por 04.11.2014 / 10:34