No kernel Linuxx86_64, otimizações específicas de microarquitetura são muito comuns, e ambas as famílias de CPU Intel e AMD empregam vários truques de desempenho, enquanto os mantenedores do kernel ARM64Linux se opõem à introdução de novas otimizações específicas de microarquitetura porque elas afetarão novos processadores ARM.

A Ampere Computing enviou um conjunto de quatro patches para fornecer otimizações para seus novos processadores de servidor AmpereOne. A Ampere Computing descobriu que esses novos processadores de servidor ARM com alto número de núcleos podem se beneficiar da pré-busca agressiva ao usar tamanhos de página de 4K. Em testes de desempenho de leitura sequencial, os benefícios do uso de HugeTLB ou Tmpfs foram relatados como "até 1,3 ~ 1,4x".

Os resultados do teste mostram que em Hugetlb ou TMPFS, podemos melhorar significativamente o desempenho de leitura contínua para 1,3x ~ 1,4x.Embora essas melhorias sejam interessantes para melhorar o desempenho do AmpereOneLinux, atualmente parece que este trabalho não será carregado no kernel principal do Linux.

O conhecido desenvolvedor do kernel ARMLinux, WillDeacon, expressou sua opinião sobre o patch de melhoria de desempenho do AmpereOneCPU:

"Tendemos a evitar otimizações específicas de microarquitetura em kernels arm64 porque essas otimizações são muito difíceis de manter, difíceis de testar adequadamente, muitas vezes resultam em inchaço e adicionam barreiras adicionais à atualização de nossas rotinas de biblioteca.

É verdade que temos alguma ajuda para Thunder-X1 em copy_page() (disfarçado como ARM64_HAS_NO_HW_PREFETCH), mas francamente, essa máquina precisa de toda a ajuda que puder obter.

Portanto, eu realmente não espero uma fusão; CPUs modernas deveriam fazer um trabalho melhor de cópia de dados. Isso é copy_to_user(), não ciência de foguetes. "

Mark Rutland da ARM também concordou com Deacon e concordou em cancelar a otimização direcionada do Thunder-X1. O desenvolvedor do kernel MarcZyngier concorda e já está trabalhando em um patch para remover o código específico do Thunder-X1.

Para manter o código sustentável e evitar código de kernel ARM64Linux excessivamente complexo, eles não buscam mais otimizações específicas de CPU/microarquitetura. Valerá a pena observar se alguma distribuição futura focada em ARMLinux carregará esses patches ou se alguma distribuição Linux otimizada para AmpereOne avançará. Especialmente considerando o foco da Ampere em servidores ARMLinux de alto desempenho e eficiência energética, é provável que eles não queiram deixar nenhum vestígio de otimização, especialmente considerando que pretendem competir com servidores AMDEPYC e IntelXeon.