Might be interesting... ------- Weitergeleitete Nachricht / Forwarded message ------- Von: Peter Hunnisett <peter@transgaming.com> An: rewind-patches@sourceforge.net Betreff: [rewind-patches] Prototype implementation of a shared memory winserver Datum: Wed, 11 Dec 2002 21:24:52 -0500 Hi, attached is a patch, against the present rewind tree, which implements a functional prototype of a shared memory wineserver. The prototype is capable of providing some large speed improvements (5x with semaphores) through a reduced number of context switches and kernel calls. Only certain wineserver calls will be executed through the shared memory method the choice of which will be fully configurable. TransGaming is donating this code to the ReWind project in the hopes that it will encourage other Wine developers to continue to share their code under the more open BSD/X11 style license and to help overcome the remaining issues with this approach. Documentation on the approach and benchmarking of this patch can be found at http://www.transgaming.com/papers/shmserver.html shortly. A quick note for the patch as it is somewhat prototype: 1) You need to have a writable /tmp since it presently uses named pipes for inter thread communication. 2) You will need to set the WINESERVER environment variable to the new shared memory wineserver in <wine_root>/server/main/wineserver If you have any comments, please feel free to send them to me. Additionaly, TransGaming is donating some prototype work that we did some time ago on a new wine kernel module approach (kwine). It is incomplete, but may be of interest to anyone wishing to attempt that route again. Regards, Peter Hunnisett peter@transgaming.com --- Ende der weitergeleiteten Nachricht / End of forwarded message --- -- juergen.schmied@debitel.net FAX über T-Online Fax&Fon: 01805 060 334 316 35 (12Cent/Min)
Hi, attached is a patch, against the present rewind tree, which implements a functional prototype of a shared memory wineserver. The prototype is capable of providing some large speed improvements (5x with semaphores) through a reduced number of context switches and kernel calls. Only certain wineserver calls will be executed through the shared memory method the choice of which will be fully configurable. TransGaming is donating this code to the ReWind project in the hopes that it will encourage other Wine developers to continue to share their code under the more open BSD/X11 style license and to help overcome the remaining issues with this approach. Documentation on the approach and benchmarking of this patch can be found at http://www.transgaming.com/papers/shmserver.html shortly. A quick note for the patch as it is somewhat prototype: 1) You need to have a writable /tmp since it presently uses named pipes for inter thread communication. 2) You will need to set the WINESERVER environment variable to the new shared memory wineserver in <wine_root>/server/main/wineserver If you have any comments, please feel free to send them to me. Additionaly, TransGaming is donating some prototype work that we did some time ago on a new wine kernel module approach (kwine). It is incomplete, but may be of interest to anyone wishing to attempt that route again. Regards, Peter Hunnisett peter@transgaming.com
Attachment:
shm_wineserver_rewind.diff.gz
Description: Binary data
Attachment:
shm_wineserver_rewind_new.tgz
Description: Binary data
Attachment:
kwine.tar.gz
Description: Binary data