Browse thread
Re: [Caml-list] native threads not parallel?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Markus Mottl <markus@o...> |
| Subject: | Re: [Caml-list] native threads not parallel? |
On Sat, 22 Feb 2003, Jacques Garrigue wrote: > About the problem Markus is describing, and if he is using > Thread.create as you suggest, I may see a cause. Seeing that the code > for caml_thread_new in posix.c contains no enter_blocking_section, if > you create a thread with Thread.create, it will immediately block > trying to get the caml mutex. It will get it eventually from the main > caml thread through a yield, but a clever scheduler will schedule this > thread on the same processor (it starts just when the previous one > stops). As Markus says, after a long time the scheduler may realize > this choice was wrong and change the processor, but this is scheduler > dependent. > > I may be utterly wrong in my inference, but if this is right, a better > solution would be to explicitely start the thread with pthread_start > from the C side. Thanks, this seems to be a good explanation for the strange behaviour of native threads under Solaris. Maybe another solution would be to set different scheduler flags, but I haven't read up on this, since our Solaris machines are going to be replaced by Linux ones at our place. Regards, Markus Mottl -- Markus Mottl markus@oefai.at Austrian Research Institute for Artificial Intelligence http://www.oefai.at/~markus ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners