FERRAMENTAS LINUX: O RCU de espaço de usuário será muito mais rápido para sua próxima versão emparelhada com o kernel Linux 4.14+

segunda-feira, 22 de janeiro de 2018

O RCU de espaço de usuário será muito mais rápido para sua próxima versão emparelhada com o kernel Linux 4.14+



Saiba mais!!



A biblioteca de sincronização de dados de bibliotecas do espaço de usuários liburcu deve ser significativamente mais rápida quando construída com uma versão moderna do kernel Linux. 

Adicionado ao kernel do Linux 4.14 foi um comando privado acelerado para a chamada do sistema membarrier ( MEMBARRIER_CMD_PRIVATE_EXPEDITED ) que agora está sendo aproveitado pelo liburcu. A documentação do kernel do Linux explica este novo sinalizador de chamada do sistema membarrier como "Execute uma barreira de memória em cada thread em execução pertencente ao mesmo processo que o segmento atual. Ao retornar da chamada do sistema, o fio do chamador é assegurado que todos os irmãos de seus segmentos de execução passaram por um estado em que toda a memória acessa os endereços do espaço do usuário correspondem à ordem do programa entre a entrada e a volta da chamada do sistema (os segmentos não executáveis ​​são de de fato em tal estado). Isso abrange apenas os segmentos dos mesmos processos que o tópico do chamador. Este comando retorna 0. Os comandos "acelerados" são mais rápidos do que os não acelerados, eles nunca bloqueiam, mas têm a desvantagem de causar sobrecarga extra. " 

A biblioteca User-Space RCU agora pode ser criada com este suporte para oferecer um desempenho mais rápido e agora nunca bloqueia o segmento de chamada. Esta funcionalidade será incluída na próxima versão do liburcu 0.11. 

Por sua vez, o liburcu que faz uso de MEMBARRIER_CMD_PRIVATE_EXPEDITED deve acelerar a estrutura de rastreamento de código aberto LTTng e outros programas que fazem uso da biblioteca de atualização de leitura e cópia do espaço do usuário. 

Uma postagem de blog recente através do Blog LTTng ultrapassa o impacto desse trabalho em detalhes muito maiores para aqueles interessados ​​nos técnicos por trás disso. Os que não estão familiarizados com a biblioteca User-Space RCU podem aprender mais no liburcu.org e este compromisso no Git descreve mais sobre o comportamento MEMBARRIER_CMD_PRIVATE_EXPEDITED 




Até a próxima!!

Nenhum comentário:

Postar um comentário