> 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