O conjunto de instruções FSGSBASE está presente nos processadores Intel que remontam aos processadores Ivy Bridge. Então, embora tenha havido patches de kernel Linux para este recurso em andamento há anos, parece que com o ciclo de kernel Linux 5.3 existe esse suporte para mesclagem. Porém, o que torna interessante esse suporte é a perspectiva de um melhor desempenho, especialmente para o trabalho de comutação de contexto que já vêm sofrendo como resultado de recentes reduções de CPU.
As instruções do FSGSBASE permitem ler/escrever FS/GS BASE de qualquer privilégio. Porém, a novidade é que deve haver benefícios de desempenho do FSGSBASE na comutação de contexto, graças a ignorar uma gravação do MSR para o GSBASE. Espera-se também que os programas de espaço do usuário como o Java se beneficiem ao evitar chamadas do sistema para editar o FS/GS BASE.
Entre as razões pelas quais o código foi atrasado em anos anteriores é que o espaço do usuário pode fazer coisas desagradáveis,
A principal desvantagem é que o código do usuário pode usar as novas instruções. Agora o userspace fará algo totalmente estúpido como escrever um valor diferente de zero e, em seguida, fazendo WRGSBASE ou como linkando alguma biblioteca idiota que usa WRGSBASE em um programa perfeitamente inocente como o dosemu2 e resultando em descritor totalmente sem sentido.
Considerando todos os problemas de desempenho que vimos no último ano e meio em relação ao Meltdown e Zombieload esta é uma boa notícia. Portanto, o melhor desempenho de troca de contexto em um conjunto de instruções presente desde que a Ivybridge é certamente promissora.
Os patches do FSGSBASE foram revisados ??ao longo dos anos na lista de discussão, enquanto os patches chegaram em WIP.x86/cpu mantidos por Thomas Gleixner. Dado este marco, parece bastante provável que veremos essa melhora na CPU x86 com a próxima janela de mesclagem do Linux 5.3 – barrando quaisquer objeções de última hora. Esse próximo ciclo está começando no início de julho.
Aqueles que desejam aprender mais sobre os detalhes técnicos podem ver a nova documentação.