Se a próxima versão do kernel Linux surgir um pouco mais lenta do que o normal, culpe um DIMM no PC com AMD Threadripper de Linus Torvalds e os caprichos do mercado de memória. Pois há um grande desafio pela frente nas próximas versões do kernel. Isso porque há problemas na memória RAM que atrasam o desenvolvimento do kernel Linux.
Em um post respondendo a um desenvolvedor do kernel perguntando se ele havia perdido um Git Pull, Torvalds revelou no domingo que a solicitação ainda estava em sua fila como “Estou fazendo merges (muito lentamente) no meu laptop, enquanto espero por novos DIMMs de memória ECC chegar.”
Torvalds precisa dos DIMMs porque nos últimos dias ele experimentou o que descreveu como “alguma instabilidade na minha área de trabalho principal… com corrupção de memória aleatória no espaço do usuário, resultando em minhas compilações allmodconfig
falhando aleatoriamente com erros internos do compilador etc.”
O primeiro pensamento do chefe do Linux foi que um novo bug do kernel havia causado o problema – o que não é bom, mas às vezes acontece.
Porém, seu instinto estava errado.
“Era literalmente um DIMM dando errado na minha máquina aleatoriamente depois de 2,5 anos sendo perfeitamente estável”, escreveu ele. “Vá entender. Verificado primeiro inicializando um kernel antigo e depois com memtest86+ durante a noite.”
Problemas na memória RAM atrasam desenvolvimento do kernel Linux
Torvalds parece estar rastreando a entrega dos novos DIMMs, pois relatou que a memória de substituição estava “fora para entrega” e previu que deveria chegar mais tarde na noite de domingo.
“Provavelmente vou deixar o memtest86+ para outra noite com os novos DIMMs só porque essa não foi a melhor experiência de todos os tempos. Uma boa quantidade de tempo desperdiçado culpando todas as coisas erradas, porque _obviamente_ não era meu hardware de repente indo mal”, adicionou.
O post de Torvalds é interessante por dois outros motivos. Uma é que o laptop que ele menciona pode ser o recente MacBook – completo com Silicom Arm64 da Apple – que ele usou para terminar a versão final do Linux 5.19. Se for o mesmo laptop que ele usou no domingo, disse que o silicon pode não estar à altura de uma das atividades mais importantes do mundo. Ou talvez Linus apenas sinta falta do conforto de uma tela grande.
Outros detalhes
Sua postagem também menciona que seu PC principal foi configurado para memória de código de correção de erros (memória ECC), mas “durante os primeiros dias do COVID, quando não havia memória ECC disponível a preços razoáveis. E então eu nunca consegui corrigi-lo, até que tive que detectar erros da maneira mais difícil.”
“Eu absolutamente *detesto* a política maluca da indústria e os maus fornecedores que tornaram a memória ECC tão ‘especial'”, acrescentou.
Isso parece ser uma referência a este post de 2001 no qual Torvalds deu a seguinte opinião:
A única razão pela qual a Intel diz que “ECC é para servidores e embutidos” é porque o pessoal de marketing da Intel convenceu os poderosos de que eles podem vender chips inferiores por um preço mais alto habilitando a funcionalidade ECC. Veja os tipos de chips que a Intel vende com ECC – esses Xeons (e CPUs de classe Atom Core i3 incorporados) certamente não tendem a ser melhores de outras maneiras.
Não caia na besteira. ECC não é para servidores. O ECC é para todos, e querer pagar um pouco mais pela RAM não significa que você está limitado de outras maneiras.
O que está acima é uma referência à Intel não permitir o uso de ECC com todas as suas CPUs de nível de consumidor. Portanto, suprimindo a demanda, tornando-a uma opção para menos compradores. E como a demanda é baixa, os preços permanecem altos… e muitos não podem arcar com a resiliência extra que o ECC oferece em comparação com a RAM normal. É exatamente neste ponto onde isso se cruza com o trabalho diário de Torvalds, porque o Linux (e todos os outros softwares) podem se beneficiar da correção de erros que o ECC RAM executa.
Torvalds está atualmente ocupado pela versão 6.1 do kernel Linux, que entre outras coisas adiciona suporte para a linguagem de programação Rust.