Uma melhoria fundamental de desempenho para a arquitetura RISC-V foi incorporada ao kernel Linux 7.4, abordando limitações presentes em versões anteriores. Embora uma otimização anterior introduzida no Linux 7.3 permitisse que os kernels ignorassem o alinhamento de software para hardware que suporta cópias de memória desalinhadas rápidas, era necessário que esse suporte fosse compilado diretamente no kernel. Esse requisito de tempo de compilação dificultava a portabilidade, tornando difícil para as construções genéricas do RISC-V utilizar o recurso em diversas configurações de hardware onde alguns dispositivos podem não suportar acessos desalinhados eficientes.

Com a chegada do Linux 7.4, o mecanismo para ignorar o alinhamento de software foi transferido para a detecção em tempo de execução. O kernel agora verifica dinamicamente a capacidade "HAVE_EFFICIENT_UNALIGNED_ACCESS" ao lidar com cópias de usuário. Essa mudança permite que os kernels de distribuição e outras construções genéricas incluam a otimização universalmente, garantindo que sistemas com hardware compatível se beneficiem automaticamente do desempenho melhorado sem exigir flags de compilação específicas.

Testes conduzidos pela Tenstorrent, que originalmente contribuiu com a otimização para o Linux 7.3, indicaram melhorias de largura de banda de até 11% quando esse recurso está ativo. Além dessa melhoria na cópia de usuário, a solicitação de pull do RISC-V para o Linux 7.4 inclui várias outras atualizações. Essas adições abrangem suporte para hot-plug de falhas, caminhos de código otimizados para certas funções de tabela de páginas e melhorias na troca de contexto. Além disso, a atualização integra a extensão ISA "B" do RISC-V nos relatórios hwcap e hwprobe, juntamente com o suporte para relatar a extensão ISA Zic64b do RISC-V.

Fontes: Phoronix.