This way, even if the process specified very tight reschedule intervals, it should be stoppable/killable.
This patch requires at least one improvement. I calculate the count of skipped events for kq timers, but not for posix for timer_getoverrun(). I suspect that this can benefit from your other change, than can be refactored to be used there as well.
Per-commit view is available at https://kib.kiev.ua/git/gitweb.cgi?p=deviant3.git;a=shortlog;h=refs/heads/timers