From: Tobias C. Rittweiler <tcr@fr...> - 2010-04-19 18:31:47
It's causing me severe headache, and I've spent all the day on it with
despair. So I thought I'd need some fresh input.
Can anyone think of scenarios that cause deadlines to be dropped?
Whatever hint is appreciated just to give fresh air.
What I see is that
at 0.010 in thread A logs event X (next deadline at 0.050)
at 0.170 in thread B logs event Y ...
As there's no other event logged between 0.010, and 0.170, (GC's are
logged, too), I assume that at that point a process context switch
The next time I see thread A is much much later at forced teardown, in
which case it logs NIL as next deadline.
It seems to me that somehow the deadline is dropped due to that context
switch and not properly restored.
Can anyone describe how a process context switch is performed?
There's an hardware timer which causes an interrupt into the OS after
the time quantum has exhausted? Does the process see anything of this?
Event X is actually a possibly-blocking operation (boils down to
condition-wait) so it shouldn't exhaust the time quantum but go back
into the kernel via a syscall.
Get latest updates about Open Source Projects, Conferences and News.