Re: [RFC] Wine speedup through kernel module

From: David Howells (David.Howells@nexor.co.uk)
Date: Mon Sep 25 2000 - 07:51:52 EST


Waldek Hebisch <hebisch@math.uni.wroc.pl> wrote:
> Well, I was thinking in the following way: we keep wineserver almost as
> now, only put some mutexes (semaphores) inside. We duplicate parts
> of wineserver code in the clients. We divide wineserver requests into
> two sets fast (easy) ones and slow. We modify send function in the
> client so that if request is fast one, than client enters a critical
> section (blocking wineserver!) and modifyes shared memory as needed.

You still have to do all the object maintainance yourself, plus you have no
clean-up-on-death code for certain circumstances (eg: SIGKILL).

How do you propose WaitFor*() should be implemented? Wait queues are hard to
do efficiently in userspace...

> Slow request should go usual way. The list of fast request should
> include REQ_GET_READ_FD, REQ_GET_WRITE_FD, REQ_SET_FILE_POINTER ...
> but most request should be slow.

Why? I personally want all requests to be as fast as possible, if only to
trounce Windows at its own game:->

> Simple minded implementation may use just one semaphore to serialize all
> acces to shared memory, better will be more fine grained.

Best is as fine-grained as possible (which I've tried to do).

David Howells
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 30 2000 - 21:00:14 EST