<br><br><div class="gmail_quote">2011/1/11 Levente Uzonyi <span dir="ltr"><<a href="mailto:leves@elte.hu">leves@elte.hu</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>On Tue, 11 Jan 2011, Eliot Miranda wrote:<br>
<br>
(Pine can't quote your mail, sorry.)<br>
<br>
"The problem with linux is that the pthreads implementation doesn't allow a normal user-level process to create high-priroity threads so that as<br>
soon as the Vm starts to spin doing some computation the heartbeat thread is shut-out and if the spinning computation only interrupted when a delay<br>
expires it'll never get interrupted because it is blocking the very thread that would signal the delay. So until linux's pthreads implementation<br>
supports multiple priorities we're stuck with hacks like the interval timer based itimer in the linux Cog VMs."<br>
<br>
What about keeping the priority of the heartbeat thread at user-level and decreasing the other VM threads' priority slighly?<br></blockquote><div><br></div><div>Linux doesn't allow more than /one/ thread priority for threads in a user-level process. So one /can't/ have multiple priorities. All threads run at the same priority. This is a horrible bug in the linux pthreads implementation but there it is.</div>
<div><br></div><div>best</div><div>Eliot</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
<br>
Levente<br></blockquote></div><br>