|
|
Subscribe / Log in / New account

Windows NT synchronization primitives for Linux

Windows NT synchronization primitives for Linux

Posted Feb 21, 2024 2:00 UTC (Wed) by itsmycpu (guest, #139639)
In reply to: Windows NT synchronization primitives for Linux by pizza
Parent article: Windows NT synchronization primitives for Linux

https://www.youtube.com/watch?v=NjU4nyWyhU8
At about 14:06.

In my view the best slide of that presentation is the one mentioning "fast user-space RPC" as a "half-baked idea", called an "interesting idea".

(Such concepts exist for a long time in all kind of variations. Some people associate the concept with "actors" in a multi-threaded context, or "asynchronous message queues". I'm using something that could go by that label (though so far within a single process, between threads) for many years, and it works very well, using lock-free queues. As a low-level implementation, execution time in a loop is a small single-digit number of nanoseconds.)


to post comments

Windows NT synchronization primitives for Linux

Posted Feb 21, 2024 3:04 UTC (Wed) by pizza (subscriber, #46) [Link] (1 responses)

> In my view the best slide of that presentation is the one mentioning "fast user-space RPC" as a "half-baked idea", called an "interesting idea".

Ah, so this mythical other approach is just that; no implementation much less any benchmarks showing it to be just as good or better than the kernel-based approach that exists _today_.

> I'm using something that could go by that label (though so far within a single process, between threads) for many years, and it works very well, using lock-free queues

...Um, you do realize that Wine needs to synchronize between multiple independent heayweight *processes* ?

Windows NT synchronization primitives for Linux

Posted Feb 21, 2024 3:23 UTC (Wed) by itsmycpu (guest, #139639) [Link]

> Ah, so this mythical other approach is just that; no implementation much less any benchmarks showing it to be just as good or better than the kernel-based approach that exists _today_.

There are several existing approaches that have the same performance, just the existing ones also have shortcomings which that approach would not have.

> ...Um, you do realize that Wine needs to synchronize between multiple independent heayweight *processes* ?

Yes, as indicated I do, however I wonder what you mean with a "heavyweight" process?

Shared memory is as fast between processes (I measured it), and can be read-protected or write-protected for specific processes.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds