News: 0001232956

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Wine Developers Are Working On A New Linux Kernel Sync API To Succeed ESYNC/FSYNC

([WINE] 6 Hours Ago Wine Synchronization Primitives)


While there is the prior "ESYNC" and "FSYNC" work pursued by Wine for the Linux kernel, it appears Wine developers are back to the drawing board in coming up with a Linux kernel implementation for Wine synchronization primitives that will address all their needs and match the Windows behavior well.

CodeWeavers developer Zebediah Figura sent out a lengthy mailing list post on Sunday night outlining the current state and objectives of coming up with kernel-based Wine synchronization primitives. While the ESYNC/FSYNC patches were successful in improving the performance of many Windows games running on Linux, they are still working towards a more all encompassing solution and to match the behavior well for Windows and with optimal speed.

Wine developers are looking for a kernel interface close to that of Windows' NT synchronization object API with at most one system call per operation and without managing object state in user-managed shared memory. The existing ESYNC/FSYNC work contains inefficiencies and some applications not even working with the implementation. Thus it's taking a step back to discuss possible solutions and the kernel mailing list post does have a hypothetical user-space API being thought about at this time.

The proposed "NTSYNC" interface would expose a new /dev/ntsync device that more closely models the Windows NT synchronization object API compared to earlier approaches.

Those interested in all the technical details can see [1]this kernel mailing list post . Patches for the proposed NTSYNC API have yet to be written but awaiting further feedback from upstream developers on any other design requirements and what would be considered acceptable for upstreaming into the mainline Linux kernel.



[1] https://lore.kernel.org/lkml/f4cc1a38-1441-62f8-47e4-0c67f5ad1d43@codeweavers.com/T/#u

CochainComplex

skeevy420

Aryma

Cattus_D

Maryann's Law:
You can always find what you're not looking for.