Jürgen Schmied juergen.schmied at debitel.net
Sun Oct 27 15:43:11 CST 2002

Just a comment to the mentioned use of LPC to ememinate the server part of rpc:
Since wine uses a server every lpc-call causes a lot of context switching. LPC with the  
wine server will never be as fast as on winnt.
-The client would have to wait on the client side what means a client call needs 2 
roundtrips to the server.
- There are 3 processes playing a role: client, wine-server and the server. Where winnt 
needs only a context switch between the client and the server and one back, we need 
at least 6:

client -> wineserver (copies request-message to wineserver)
wineserver -> client (gives wait handle back)
wineserver->server (server wakes up on it's wait handle and gets request-message)
... server is working now ...
server->wineserver (server copies replay-message to wineserver)
client->wineserver (client is waken up and calls wineserver for data)
wineserver->client (client gets replay-message from wineserver)

So I would consider a different IPC mechanism for this.
Or could we implement LPC in a better way?

juergen.schmied at debitel.net

More information about the wine-devel mailing list