clockintr, statclock: eliminate clockintr_statclock() wrapper
authorcheloha <cheloha@openbsd.org>
Thu, 14 Sep 2023 20:58:51 +0000 (20:58 +0000)
committercheloha <cheloha@openbsd.org>
Thu, 14 Sep 2023 20:58:51 +0000 (20:58 +0000)
commitf36eae229c7167bc31605e12863e63abe756c8c8
tree668df3677d5889078230b78f39d0749088a7373b
parent76b81db55c3edb128786fa5baf63c50528f065fa
clockintr, statclock: eliminate clockintr_statclock() wrapper

- Move remaining statclock variables from kern_clockintr.c to
  kern_clock.c.  Move statclock variable initialization from
  clockintr_init() into initclocks().

- Change statclock() prototype to make it a legal clockintr
  callback function and establish the handle with statclock()
  instead clockintr_statclock().

- Merge the contents of clockintr_statclock() into statclock().
  statclock() can now reschedule itself and handles multiple
  expirations transparently.

- Make statclock_avg visible from sys/systm.h so that clockintr_cpu_init()
  can use it to advance the statclock across suspend/hibernate.

Thread: https://marc.info/?l=openbsd-tech&m=169428749720476&w=2
sys/kern/kern_clock.c
sys/kern/kern_clockintr.c
sys/sys/systm.h