Messages in this thread | | | Subject | Re: [RFC] Wine speedup through kernel module | Date | Mon, 25 Sep 2000 13:51:52 +0100 | From | David Howells <> |
| |
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/
| |