Como deixar o kernel não executar o printk com KERN_DEBUG

2

Notei que o kernel tem diferentes níveis de console para o printk.

Eu também notei este post [1].

Eu entendo que podemos mudar o / proc / sys / kernel / printk para alterar o nível de printk para o console; Podemos até usar o dmesg --level para mudar o nível de exibição do dmesg.

No entanto, minha pergunta é:

Se eu tiver uma linha printk (KERN_DEBUG "debug message") no kernel, posso configurar o sistema para aconselhar o kernel a não executar a instrução printk (KERN_DEBU ...) , em vez de apenas não mostrando a mensagem?

Eu não quero que o kernel execute este printk porque o printk causará alguma sobrecarga de desempenho. Mesmo que não vejamos a mensagem impressa pelo dmesg, o kernel ainda pode salvá-lo em outro lugar, o que pode retardar o sistema um pouco (digamos várias ms), o que eu quero evitar.

Muito obrigado pelo seu tempo e ajuda nesta questão!

[1] não é possível filtrar mensagens do printk

    
por Mike 29.03.2016 / 20:23

1 resposta

1

Parece-me que o KERN_DEBUG e o inferior não serão compilados a menos que você configure um flag apropriado em seu kconfig. link Eu duvido muito da sobrecarga de uma chamada de função e verificação uma declaração if é um problema e isso é tudo que o printk (KERN_DEBU ...) irá rodar.

    
por 06.03.2017 / 18:50