Speeding up wineserver syncronization objects with shared memory

Alexandre Julliard julliard at winehq.com
Thu Feb 15 13:54:32 CST 2001


Gavriel State <gav at transgaming.com> writes:

> After some more thinking, Ove and I have come up with a mechanism that should eliminate 
> most of the wineserver overhead for mutexes and semaphores, without the need to resort
> to a kernel module.  We're probably going to give this a try over the next few days, so
> any feedback will be very much appreciated.

I don't see how you are going to make this work reliably. A basic
design principle of the server is that no matter what a client process
does, it cannot break either the server or other clients; given the
number of bugs Windows apps contain, I feel this is very important.

As soon as you introduce a shared memory area, you need the
collaboration of all clients to ensure the stability of the whole
system, since any client can corrupt system data structures. This is
very bad. Also since the server is single-threaded its data structures
don't need to be protected; but as soon as you manipulate them from
multiple threads you need locking mechanisms, which will probably cost
a lot in performance too.

-- 
Alexandre Julliard
julliard at winehq.com



More information about the wine-devel mailing list