[Vm-dev] Re: [Pharo-project] Waste of CPU Power by polling events?
siguctua at gmail.com
Tue Jan 11 21:08:22 UTC 2011
On 11 January 2011 20:23, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 2011/1/11 Levente Uzonyi <leves at elte.hu>
>> On Tue, 11 Jan 2011, Eliot Miranda wrote:
>> (Pine can't quote your mail, sorry.)
>> "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
>> 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
>> expires it'll never get interrupted because it is blocking the very thread that would signal the delay. So until linux's pthreads implementation
>> supports multiple priorities we're stuck with hacks like the interval timer based itimer in the linux Cog VMs."
>> What about keeping the priority of the heartbeat thread at user-level and decreasing the other VM threads' priority slighly?
> 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.
So, why not use signals & POSIX timer  for same purpose?
Or do signals having other issues which even worse than using heartbeat process?
Igor Stasenko AKA sig.
More information about the Vm-dev