Desenvolvedores do Wine estão trabalhando em uma nova API Linux Kernel Sync para ter sucesso com o ESYNC e FSYNC

Desenvolvedores do Wine estão trabalhando em uma nova API Linux Kernel Sync para ter sucesso com o ESYNC e FSYNC
wine

Embora exista o trabalho anterior “ESYNC” e “FSYNC” em relação ao Wine para o kernel Linux, parece que os desenvolvedores do Wine estão de volta à prancheta ao propor uma implementação do kernel Linux para primitivos de sincronização do Wine que atenderá a todas as suas necessidades e corresponder bem ao comportamento do Windows.

O desenvolvedor do CodeWeavers, Zebediah Figura, fez uma longa postagem na lista de discussão na noite de domingo delineando o estado atual e os objetivos de criar primitivos de sincronização Wine baseados em kernel. Embora os patches ESYNC e FSYNC tenham sucesso em melhorar o desempenho de muitos jogos do Windows em execução no Linux, eles ainda estão trabalhando em uma solução mais abrangente e para corresponder bem ao comportamento do Windows e com velocidade ideal.

Os desenvolvedores do Wine estão procurando uma interface de kernel próxima à API de objeto de sincronização do Windows NT com no máximo uma chamada de sistema por operação e sem gerenciar o estado do objeto na memória compartilhada gerenciada pelo usuário.

Desenvolvedores do Wine estão trabalhando em uma nova API Linux Kernel Sync para ter sucesso com o ESYNC e FSYNC

Desenvolvedores do Wine estão trabalhando em uma nova API Linux Kernel Sync para ter sucesso com o ESYNC e FSYNC

O trabalho ESYNC e FSYNC existente contém ineficiências e alguns aplicativos nem mesmo funcionam com a implementação. Portanto, estamos dando um passo para trás para discutir as soluções possíveis. Além disso, a postagem na lista de discussão do kernel tem uma API de espaço do usuário hipotética sendo pensada neste momento.

A interface “NTSYNC” proposta exporia um novo dispositivo /dev/ntsync que modela mais de perto a API do objeto de sincronização do Windows NT em comparação com as abordagens anteriores.

Aqueles interessados em todos os detalhes técnicos podem ver esta postagem na lista de discussão do kernel. Patches para a API NTSYNC proposta ainda precisam ser escritos. Porém, aguardam mais feedback dos desenvolvedores sobre quaisquer outros requisitos de design e o que seria considerado aceitável para upstreaming no kernel Linux principal.

Phoronix