> We can't currently allow several Haskell threads to really run 
> simultaneosly [e.g. on two separate processors, or preemtively 
> scheduled on a single processor], because they always mutate the same 
> global heap. Currently, GHC switches its green threads only at times 
> when the heap is in a defined state [not truly preemptively]. There 
> seems to be some SMP support in the RTS, I don't know if it ever 
> worked. If anyone wants to fix/finish it, that would be 
> great, but it's not what I'm proposing here.

The SMP support is an experiment that was never finished.  There are
serious issues to be solved regarding reducing the locking overhead on a
shared-memory heap.

> My proposal is only a minimum solution intended to resolve 
> the inherent 
> incompatibility between the "threaded RTS" and libraries like OpenGL, 
> which require thread-local-state.

I think I'm happy with that, although I don't have the whole context
swapped in.  That seems to be the conclusion we came to at the last
discussion, though:

http://www.haskell.org/pipermail/glasgow-haskell-users/2002-June/003592.
html

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to