Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
work:semana_23_de_2022 [2022/06/11 14:46] – created magsilvawork:semana_23_de_2022 [2022/06/11 23:06] magsilva
Line 1: Line 1:
 ====== Semana 23 de 2022 ====== ====== Semana 23 de 2022 ======
-  * Ocorreu recentemente o encontro dos desenvolvedores dos componentes de gerenciamento de memória, dispositivos de bloco, sistemas de arquivo de eBPF do kernel do Linux. +  * Ocorreu recentemente o encontro dos desenvolvedores dos componentes de gerenciamento de memória, dispositivos de bloco, sistemas de arquivo e BPF do kernel do Linux (LSF/MM/BPF summit)
-  * O tópico de meu interesse é o [[eBPF]]. +  * O tópico de meu interesse é o [[BPF]]. Essa parte do summit foi documentada em http://vger.kernel.org/bpfconf2022.html
 +    * A apresentação de Yonghong Song tratou da [[http://vger.kernel.org/bpfconf2022_material/lsfmmbpf2022-clang.pdf | agradabilidade do desenvolvimento de aplicações BPF]]. Existem dois arcabouços (frameworks) para o desenvolvimento de programas BPF: [[https://github.com/iovisor/bcc | bcc (BPF Compiler Collection)]] e libbpf-tools. O bcc foi o primeiro disponível para isso, então ainda muito utilizado. No entanto, [[https://github.com/iovisor/bcc/issues/3976 | ele não é mais a forma recomendada para desenvolvimento de aplicações BPF]]. Assim, devemos focar no libbpf. 
 +    * Na apresentação BPF Observability tools update, por Brendan Gregg, um tópico que foi abordado foi o desempenho dos user probes (uprobe). Isso muito nos interessa, porque é o calcanhar de Aquiles ao usar BPF com programas em Java. 
 +    * Na apresentação BPF Guidelines for newcomers, também por Brendan Gregg, temos diretivas para uso do BPF: https://tinyurl.com/bpfguidelines2022 (ou https://docs.google.com/document/d/1pzkUqyQU65V0WIukqK4EU_u3f8h35i-ddORI9WbYatw).  
 +  * Outro evento relacionado foi o [[https://kernel-recipes.org/en/2022/ | Kernel Recipes 2022]]. O vídeo completo do evento está disponível em https://www.youtube.com/watch?v=v--rVT4RsCE 
 +    * A [[https://kernel-recipes.org/en/2022/talks/test-driven-kernel-releases/ | palestra de Guillaume Tucker sobre testes no Kernel do Linux]] propõe que o desenvolvimento e lançamento de novas versões do kernel sejam dirigidas a testes automatizados (vídeo disponível em https://youtu.be/v--rVT4RsCE?t=15731). Atualmente temos uma infraestrutura razoável para teste: KUnit para escrita de testes de unidade; LTP e kselftest. No entanto, os resultados das atividades de teste são restritas a poucos desenvolvedores (geralmente os responsáveis pelos subsistemas) e não são amplamente compartilhados. Algumas ferramentas que atualmente disponibilizam os resultados das atividades de teste são: [[https://syzkaller.appspot.com | syzbot]], [[https://linux.kernelci.org/job | KernelCI]], [[https://datawarehouse.cki-project.org | RedHat CKI]], [[https://linux-regtracking.leemhuis.info/regzbot/mainline/ | regzbot]]. No entanto, é necessário deixar os testes mais claros para o desenvolvimento. Várias sugestões foram feitas nesse sentido: incluir os casos de teste com o código do Kernel do Linux (hoje são mantidos separadamente); incluir na mensagem de commit informações sobre a execução de casos de teste (quem executou e onde estão disponíveis os resultados). 
 +    * Ainda da turma de BPF, descobri que o acme (Arnaldo Carvalho de Melo, ex-Conectiva) está trabalhando com isso agora. 
 +    * Outra apresentação interessante: ftrace (https://www.youtube.com/watch?v=v--rVT4RsCE&t=18395s). 
 +  * Random bits: ORT (OSS Review Toolkit, https://github.com/oss-review-toolkit/ort) é uma ferramenta interessante para encontrar problemas quanto a licenças de softwares utilizados em um projeto de código aberto. Ela suporta diversos gerenciadores de dependências ;-)