Confira !!
A função printk () fundamental do kernel do Linux para imprimir mensagens em vários níveis de log para então acessar por meio de dmesg está começando a ter uma revisão significativa.
Vindo com o Kernel Linux 5.10, agora é uma implementação de buffer de anel totalmente sem bloqueio para printk. Esta nova implementação permite armazenar e ler mensagens sem a possibilidade de deadlocks ou depender de buffers temporários por CPU.
Este buffer de anel totalmente sem bloqueio, entretanto, ainda depende de um bloqueio de buffer de log, mas a esperança é que para o Linux 5.11 esse bloqueio possa ser removido.
Além de ainda ter um bloqueio para remover, o retrabalho do printk também está trabalhando para fazer uso do KThreads como um próximo passo.
A implementação do ringbuffer sem bloqueio foi enviada (e já foi mesclada) por meio desta solicitação de extração .
Para mais detalhes sobre os desafios existentes com o printk do Linux e o retrabalho que está em andamento há muito tempo, há este conjunto de slides (PDF) da Linux Plumbers Conference 2019 de John Ogness que descreve a história do printk e o trabalho contínuo para melhorá-lo. Abaixo está também a gravação do vídeo LPC2019 dessa palestra.
Até a próxima !!
Nenhum comentário:
Postar um comentário