Patches do GNU Assembler foram enviados para otimizar o erro do código condicional da Intel Jump. Assim, a Intel suspendeu o embargo à errata “Jump Conditional Code” que afeta a Skylake através dos processadores Cascade Lake. O próprio Clear Linux da Intel foi o primeiro a levar esses patches. Entretanto, eles agora foram enviados à lista de discussão Binutils para tentar obter a otimização do JCC com correções na base de código upstream Binutils/GAS.
O conhecido especialista em cadeia de ferramentas de compilador da Intel, HJ Lu, enviou os cinco patches na terça-feira para otimizar o JCC Erratum. Os patches GNU Assembler (GAS) visam a reduzir o desempenho alinhando ramificações dentro dos limites de 32 bytes para várias instruções. O comportamento é ativado por meio da opção de linha de comando -mbranches-within-32B-boundaries.
Patches do GNU Assembler enviados
Os patches no total são mais de três mil linhas, incluindo a adição de novos casos de teste. Se esses patches forem aceitos pontualmente na base de código, eles se tornarão parte da versão GNU Binutils 2.34 em 2020. Além disso, serão escolhidos por empresas como Clear Linux e quaisquer outras distribuições. Desde que desejem fornecer esse suporte atenuado antecipadamente para ajudar a compensar o impacto no desempenho das novas atualizações de microcódigo da Intel.
Para aqueles que se perguntam sobre o comportamento ao executar um GNU Assembler corrigido com a opção de limites de 32B, apresentarei esses resultados nos próximos dias, juntamente com mais benchmarks do JCC Erratum. Isso ocorre ao mesmo tempo em que um novo bug da CPU Intel foi descoberto. O problema teve implicações de desempenho no Skylake através do Cascade Lake e o impacto no desempenho dos jogos da atualização do microcódigo do Intel JCC Erratum.
kernel do Linux desativa o HPET para Intel Coffee Lake
Outra alteração da Intel enviada para o Linux 5.4 e a ser portada para a atual série estável é a desativação dos sistemas HPET para Coffee Lake.
Devido a relatórios de bugs que remontam a pelo menos meio ano e soluções alternativas que não surgem, os desenvolvedores do kernel decidiram colocar na lista negra o HPET (High Precision Event Timer) nos sistemas Coffee Lake.
Alguns sistemas Coffee Lake têm um timer HPET inclinado ao entrar no estado de energia do PC10 e isso, por sua vez, marca o TSC (Time Stamp Counter) como instável.
Os engenheiros da Intel atribuíram o problema do timer de eventos de alta precisão no Coffee Lake a ser um problema de firmware. Porém, como o problema é predominante o suficiente, o kernel do Linux desativa o HPET em todos os sistemas Coffee Lake (0x3ec4).
Essa não é a primeira vez que o kernel Linux recorre à força de desabilitar o HPET. No entanto, anteriormente o fazia para os sistemas Intel Bay Trail devido a problemas de precisão, com a interrupção em estados ociosos profundos.
A mudança está a caminho do kernel da linha principal e, por sua vez, das ramificações estáveis.
Fonte: Phoronix