FERRAMENTAS LINUX: O suporte para as sequências reiniciáveis ​​"RSEQ" está retornando à biblioteca GNU C

sexta-feira, 10 de dezembro de 2021

O suporte para as sequências reiniciáveis ​​"RSEQ" está retornando à biblioteca GNU C

 Confira !!

Em 2018, o kernel Linux 4.18 estava apresentando a chamada de sistema Restartable Sequences para permitir operações mais rápidas de espaço do usuário em dados por CPU. Ao evitar operações atômicas em casos como incremento de contadores por CPU, modificação de spinlocks por CPU, leitura / gravação em buffers de anel por CPU e similares, as Sequências Reinicializáveis ​​podem fornecer uma vantagem de desempenho. A GNU C Library está recebendo seu suporte revisado para fazer uso desta chamada de sistema.

O Restartable Sequences mostrou bom potencial de desempenho e gerou interesse entre os desenvolvedores. O Glibc tem trabalhado na utilização de sequências reiniciáveis e o código inicial foi fundido em 2020. Mais informações básicas sobre RSEQ podem ser obtidas em Efficios.com do seu trabalho ao longo dos anos neste suporte.



O próximo lançamento da Glibc deve ter sua interface de Sequências Reinicializáveis ​​para fazer uso mais fácil desta chamada de sistema. A GNU C Library agora também está conectada para usar RSEQ para sua chamada sched_getcpu como um beneficiário.


Embora o suporte RSEQ tenha sido incorporado ao Glibc, ele foi posteriormente descartado antes do lançamento . O código de Sequências Reinicializáveis ​​foi removido do Glibc devido a problemas de design aberto e a possibilidade de o ABI do kernel não ser finalizado.


O RSEQ parecia bastante promissor para melhorias de desempenho de dados por CPU agora, depois de quase quatro anos na época do Glibc 2.35, os frutos podem ser apreciados com mais facilidade.

Mais de um ano depois, as coisas se acalmaram e a GNU C Library parece pronta para fazer uso desta chamada de sistema que ajuda o desempenho. Após alguns patches de preparação mesclados no início da semana, o código RSEQ inicial foi mesclado ontem. Isso inclui bits para registro RSEQ , um glibc.pthread.rseq ajustável para controlar o registro RSEQ para que os aplicativos possam registrá-lo em vez de Glibc, os símbolos RSEQ públicos e sys / rseq.h , e usar o RSEQ para acelerar sched_getcpu .

Assumindo que não haja reversão novamente, o suporte para as Sequências Reinicializáveis ​​será em Glibc 2.35, com lançamento previsto para fevereiro.








Até a próxima !!

Nenhum comentário:

Postar um comentário