<br><br><div class="gmail_quote">2011/1/11 Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu">leves@elte.hu</a>&gt;</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&#39;t quote your mail, sorry.)<br>
<br>
&quot;The problem with linux is that the pthreads implementation doesn&#39;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&#39;ll never get interrupted because it is blocking the very thread that would signal the delay.  So until linux&#39;s pthreads implementation<br>
supports multiple priorities we&#39;re stuck with hacks like the interval timer based itimer in the linux Cog VMs.&quot;<br>
<br>
What about keeping the priority of the heartbeat thread at user-level and decreasing the other VM threads&#39; priority slighly?<br></blockquote><div><br></div><div>Linux doesn&#39;t allow more than /one/ thread priority for threads in a user-level process.   So one /can&#39;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>