Depois de passar por cinco rodadas de revisão sob um sinalizador de solicitação de comentários (RFC), hoje a última rodada de patches do Kernel API Specification Framework foi enviada com o sinalizador RFC removido.
A Estrutura de Especificação da API do Kernel visa documentar melhor as APIs do kernel em formato legível por humanos e por máquina. Sasha Levin explica na carta de apresentação da série de patches:
“Esta proposta introduz mecanismos para documentar APIs do kernel, abordando o desafio de longa data de manter interfaces estáveis entre o kernel e os programas de espaço do usuário. Apesar do compromisso do kernel de nunca quebrar o espaço do usuário, a falta de especificações de API legíveis por máquina levou a quebras e entre chamadas de sistema e IOCTLs.
As especificações podem documentar tipos de parâmetros, intervalos válidos, restrições e requisitos de alinhamento. Eles capturam a semântica do valor de retorno, incluindo condições de sucesso e códigos de erro com seu significado. Requisitos de contexto de execução, capacidades, restrições de bloqueio, comportamento de manipulação de sinal e efeitos colaterais podem ser especificados formalmente.
Essas especificações acompanham o código que documentam e são legíveis por humanos e analisáveis por máquina. Eles podem ser validados em tempo de execução quando CONFIG_KAPI_RUNTIME_CHECKS está habilitado, exportados via debugfs para ferramentas de espaço do usuário e extraídos do vmlinux ou do código-fonte.
Isso permite que ferramentas de análise estática verifiquem o uso da API do espaço do usuário em tempo de compilação, geração de testes com base em especificações formais, validação consistente de tratamento de erros, geração automatizada de documentação e verificação formal de interfaces de kernel.
A implementação inclui uma estrutura central com armazenamento de seção ELF, integração kerneldoc para especificação inline, uma interface debugfs para consulta em tempo de execução e uma ferramenta de extração baseada em Rust (tools/kapi) com suporte para formatos de saída JSON, RST e texto simples. Especificações de exemplo são fornecidas para os quatro syscalls de arquivo fundamentais (sys_open, sys_close, sys_read, sys_write). A série também inclui um conjunto de testes KUnit com 38 testes e um autoteste de verificação de tempo de execução com mais de 29 testes TAP.”
Patches de hoje além de eliminar o banner RFC, agora foram rebaseados no estado Linux 7.0-rc1, cobertura do conjunto de testes KUnit, especificações de exemplo simplificadas e autotestes de verificação em tempo de execução.
Deseja saber mais sobre Software Livre Clique Aqui!
Phoronix,Revisões de hardware Linux,Benchmarks de hardware Linux,Benchmarks de servidor Linux,Benchmarking Linux,Linux para desktop,Desempenho Linux,Gráficos de código aberto,Linux How To,Benchmarks Ubuntu,Hardware Ubuntu,Phoronix Test Suite
