clockintr: support an arbitrary callback function argument
authorcheloha <cheloha@openbsd.org>
Sun, 10 Sep 2023 03:08:05 +0000 (03:08 +0000)
committercheloha <cheloha@openbsd.org>
Sun, 10 Sep 2023 03:08:05 +0000 (03:08 +0000)
commita3464c933063c2d770977c57373583ee9a16e674
treed8f8a3acd0b9bda9abd84a3d664e2ec798feee73
parent00ef33eaacfea5d478edc1ba519b644a985cd4c2
clockintr: support an arbitrary callback function argument

Callers can now provide an argument pointer to clockintr_establish().
The pointer is kept in a new struct clockintr member, cl_arg.  The
pointer is passed as the third parameter to clockintr.cl_func when it
is executed during clockintr_dispatch().  Like the callback function,
the callback argument is immutable after the clockintr is established.

At present, nothing uses this.  All current clockintr_establish()
callers pass a NULL arg pointer.  However, I am confident that dt(4)'s
profile provider will need this in the near future.

Requested by dlg@ back in March.
sys/kern/kern_clockintr.c
sys/kern/kern_sched.c
sys/kern/kern_time.c
sys/kern/sched_bsd.c
sys/kern/subr_prof.c
sys/sys/clockintr.h
sys/sys/resourcevar.h
sys/sys/sched.h
sys/sys/time.h