Kernel Linux para arquitetura x32 pode ser descontinuado

Claylson Martins
5 minutos de leitura
Imagem: Linux Adictos

Uma importante decisão em torno do kernel Linux pode ser tomada em breve. Recentemente, um e-mail foi divulgado através da lista de discussão Linux Kernel. A mensagem principal era bem clara: o principal objetivo é eliminar o código de implementação da sub-arquitetura x32 (que não deve ser confundido com x86 IA-32).

Ele permite usar o modelo de endereçamento de memória de 32 bits (híbrido x86 e x86_64) em sistemas x86 de 64 bits.

Qual é a arquitetura x32?

EXT4 obtém correções de erros antigos

A sub-arquitetura x32 é um híbrido x86_64 ABI, que permite a utilização de um endereço de memória modelo de 32 bits em 64 bits (o processador opera em 64 – modo bit, mas usa 32).

O ABI X32 permite que os aplicativos aproveitem ao máximo a arquitetura x86_64, como registros adicionais e instruções mais rápidas, PIC ABI.

Ao mesmo tempo, o ABI X32 permite trabalhar com ponteiros de memória de 32 bits, o que economiza a própria memória. Além disso, contribui para um preenchimento mais eficiente do cache do processador. Por fim, tem um efeito positivo na velocidade geral de execução do código.

A limitação do ABI X32 é a impossibilidade de direcionar mais de 4 GB de memória do aplicativo.

O suporte ao X32 faz parte do kernel Linux desde o seu lançamento.3.4, em maio de 2012.

Os desenvolvedores debaterão se continuarão com a manutenção desta arquitetura ou não

De acordo com o desenvolvedor que propõe a eliminação da tecnologia x32, o uso não foi justificado e não encontrou uma aplicação prática nas modernas distribuições industriais.

Além disso, o código x32 usa um método bastante controverso para trabalhar com chamadas do sistema. Assim, cria o risco de interromper a operação normal após o processamento de chamadas para o sistema.

Linus Torvalds disse que concordaria com a eliminação de x32 se não houver argumentos enviados em defesa do mesmo. Ele também quer a apresentação de sistemas nos quais a subarquitetura x32 foi aplicada.

Linus ainda apontou que, aparentemente, o uso da arquitetura x32 foi limitado a testes de desempenho extremos. Para ele, o suporte desta subarquitetura está associado a um grande número de complicações para manter as distribuições e o ambiente de desenvolvimento.

Veja as mensagens

Olá a todos.

Estou pensando seriamente em enviar um patch para remover o suporte ao Linux x32 . Aqui estão alguns problemas:

  1. Não é totalmente claro que tem usuários. Tanto quanto sei, é suportado no Gentoo e Debian;
  2. A maneira como o sistema de chamadas funciona é muito estranha. A maioria dos syscalls em x32 entra através de seu * native * (isto é, não COMPAT_SYSCALL_DEFINE) com o ponto de entrada, e isso é intencional.

Por exemplo, adjtimex () usa a entrada nativa, não a entrada compat, porque o timex da estrutura de x32 corresponde ao design x86_64. Mas um punhado de syscalls tem pontos de entrada separados – estes são os syscalls que começam em 512.

Estes entram pelos pontos de entrada COMPAT_SYSCALL_DEFINE.

Os syscalls x32 que * no * estão no intervalo 512 violam todas as semelhanças da convenção central syscall.

Em manipuladores syscall, in_compat_syscall () retorna verdadeiro, mas o COMPAT_SYSCALL_DEFINE entrada não invocou este é louco e o risco de quebrar as coisas quando as pessoas está consignado sua syscall implementações executar.

E acima de tudo ninguém prova estas coisas.

E os testes?

Em uma ocasião, ao testar x32, um dos desenvolvedores do Gentoo concluiu que a melhoria no desempenho ao mudar para x32 ABI não é tão grande quanto os testes sintéticos mostram criadores x32 ABI:

Um progresso significativo apenas é observada quando em comparação com a arquitectura x 86 anterior. Porém, quando comparado com a arquitetura x86-64 corrente, o ganho é mínimo.

Fonte

Share This Article
Follow:
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.