Browse thread
[Caml-list] Scheduling thread problem kernel 2.6
- Christophe Raffalli
[
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: | Christophe Raffalli <raffalli@u...> |
| Subject: | [Caml-list] Scheduling thread problem kernel 2.6 |
Message posted to comp.os.linux.misc and caml-list. I am having a scheduling problem with a Caml program that uses two threads: - one CPU intensive thread - one interface thread (using Glut + OpenGL) and often doing nothing The problem is that the CPU intensive thread never gets more than 50% (near 100% expected) of the CPU (usually 20 to 30%). Moreover the thread only get less than 20% (near 50% expected) if another CPU intensive process is running. I suspect that the scheduling algorithm uses the behaviour of the interface thread to predict (wrongly) that both threads need little CPU. This seems confirmed by the fact that call to Thread.yield in the interface thread slow down the CPU intensive thread ! The problem exists with all versions of kernel 2.6 I tried (from 2.6.3 to 2.6.5 unpatched and the Mandrake 2.6.3). Everything is fine with a kernel 2.4. Playing with SCHEDULING_SCOPE_SYSTEM and SCHEDULING_SCOPE_PROCESS changes nothing. Any hint ? -- Christophe Raffalli Université de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tél: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI --------------------------------------------- IMPORTANT: this mail is signed using PGP/MIME At least Enigmail/Mozilla, mutt or evolution can check this signature --------------------------------------------- ------------------- 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