setitimer(2): don't round up it_value
authorcheloha <cheloha@openbsd.org>
Fri, 11 Jun 2021 16:36:34 +0000 (16:36 +0000)
committercheloha <cheloha@openbsd.org>
Fri, 11 Jun 2021 16:36:34 +0000 (16:36 +0000)
commit8d466dd80c156a33c508154f83e1907ef7087e5c
treeae096e0f0bd7622f8eccf96fa98a8fa28d38ad2d
parentf05f27a778c31b6bd873efb536e955c6020b597d
setitimer(2): don't round up it_value

We can reduce latency for the first expiration of a timer if we don't
round it_value up to the minimum interval (1 tick).

While we're at it, we may as well consolidate all input validation and
adjustment into a single itimerfix() call.  There are no other callers
in the kernel (nor should there be), so remove the prototype from
sys/time.h.

Discussion: https://marc.info/?l=openbsd-tech&m=162084338005502&w=2

Tested by weerd@ and claudio@.

probably ok claudio@
sys/kern/kern_time.c
sys/sys/time.h