Categorias
Kernel Linux

Kernel Linux 6.16 terá getrandom via vDSO para RISC-V com desempenho até 17x mais rápido

A arquitetura RISC-V está prestes a receber uma importante melhoria de desempenho com a chegada do suporte à função getrandom() via vDSO (Virtual Dynamic Shared Object) no ciclo de desenvolvimento do Linux 6.16. A novidade foi implementada por Xi Ruoyao e já está integrada ao branch for-next da árvore principal do kernel RISC-V, aguardando inclusão na janela de merge de maio.

O que é o getrandom() via vDSO?

A função getrandom() é amplamente usada para gerar números aleatórios seguros em espaço de usuário. Quando chamada via syscall, ela impõe um custo de contexto entre usuário e kernel. Com a vDSO, é possível acessar esse recurso diretamente em espaço de usuário, reduzindo significativamente o tempo de execução — sem comprometer a segurança.

Desempenho surpreendente no RISC-V

De acordo com benchmarks apresentados junto ao commit 89079520cef6, o ganho de desempenho é expressivo:

MétodoTempo para 25 milhões de execuções
vDSO2,47 segundos
libc (tradicional)41,45 segundos
syscall direta41,04 segundos

Em operações mais intensas (25 milhões de execuções de blocos de 256 bytes), o vDSO concluiu em 162 segundos, contra 2.953 segundos usando libc e 2.796 via syscall. Isso representa uma melhoria de até 17x na performance.

Detalhes técnicos

A implementação conecta a função getrandom() genérica da vDSO ao código da arquitetura RISC-V, incluindo:

  • Suporte ao algoritmo ChaCha20,
  • Geração de blocos aleatórios sem uso de pilha (__arch_chacha20_blocks_nostack),
  • Testes de autovalidação integrados ao kernel,
  • Integração com a syscall __NR_getrandom.

Com isso, a RISC-V se junta a outras arquiteturas que já suportam essa funcionalidade de forma otimizada, como x86_64, ARM64 e LoongArch.

Quando estará disponível?

Salvo imprevistos durante os testes finais, essa melhoria será integrada oficialmente no Linux 6.16, com lançamento previsto para junho de 2025.

Por Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

Sair da versão mobile