Re: Sporadic process issue on Magritte tests
Holger Freyther <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.gnu.general |
|---|---|
| Message-ID | <[email protected]> |
> On 16 Apr 2015, at 04:01, Paolo Bonzini <[email protected]> wrote: > > The point of using absolute deadline is exactly to match deadlines as > close as possible ("perfect" if the syscall ultimately lets you specify > an absolute deadline). Relative deadlines become less and less accurate > the more load you have, because you can be preempted away between the > computation of the deadline and the setting of the timer. > > This is particularly relevant with cooperative multithreading such as > Smalltalk’s. Okay but the current implementation appears to be improvable. VMpr_Processor_signalAtNanosecondClockValue * Get current time and then check if to signal directly or queue _gst_async_timed_wait * Cancel the current alarm * Schedule waiting for the new SIGALRM * Call _gst_sigalrm_at _gst_sigalrm_at * I don’t know how linux behaves with TIMER_ABSTIME if it is in the past but apparently it does behave (hurray!) * Call _gst_get_ns_time * And check how many seconds to sleep After going through the list it is only inefficient for the non timer_settime case. So I withdraw my comment. :) holger _______________________________________________ help-smalltalk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-smalltalk