diff options
author | Scott Soule Cheloha <cheloha@cvs.openbsd.org> | 2023-06-15 22:18:09 +0000 |
---|---|---|
committer | Scott Soule Cheloha <cheloha@cvs.openbsd.org> | 2023-06-15 22:18:09 +0000 |
commit | 3cb953fe237b69b45b174885a22b34c51a3ae653 (patch) | |
tree | a21545be6f6685add4fbaf0ed607ccf08fdb1e36 /sys/kern | |
parent | 89a5b2a64acd4dceab0bb098f91d3d631dddef7c (diff) |
all platforms, main(): call clockqueue_init() just before sched_init_cpu()
Move the clockqueue_init() call out of clockintr_cpu_init() and up
just before the sched_init_cpu() call for a given CPU.
This will allow sched_init_cpu() to allocate clockintr handles for a
given CPU's scheduler in a later patch.
Link: https://marc.info/?l=openbsd-tech&m=168661507607622&w=2
ok kettenis@, claudio@
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/init_main.c | 4 | ||||
-rw-r--r-- | sys/kern/kern_clockintr.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 31e2e31f78a..4cf78a2f60d 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -1,4 +1,4 @@ -/* $OpenBSD: init_main.c,v 1.320 2023/01/01 07:00:51 jsg Exp $ */ +/* $OpenBSD: init_main.c,v 1.321 2023/06/15 22:18:06 cheloha Exp $ */ /* $NetBSD: init_main.c,v 1.84.4.1 1996/06/02 09:08:06 mrg Exp $ */ /* @@ -47,6 +47,7 @@ #include <sys/resourcevar.h> #include <sys/signalvar.h> #include <sys/systm.h> +#include <sys/clockintr.h> #include <sys/namei.h> #include <sys/vnode.h> #include <sys/tty.h> @@ -313,6 +314,7 @@ main(void *framep) /* Initialize run queues */ sched_init_runqueues(); sleep_queue_init(); + clockqueue_init(&curcpu()->ci_queue); sched_init_cpu(curcpu()); p->p_cpu->ci_randseed = (arc4random() & 0x7fffffff) + 1; diff --git a/sys/kern/kern_clockintr.c b/sys/kern/kern_clockintr.c index 2732e0f95ec..bcd583c193c 100644 --- a/sys/kern/kern_clockintr.c +++ b/sys/kern/kern_clockintr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_clockintr.c,v 1.21 2023/04/23 00:08:36 cheloha Exp $ */ +/* $OpenBSD: kern_clockintr.c,v 1.22 2023/06/15 22:18:06 cheloha Exp $ */ /* * Copyright (c) 2003 Dale Rahn <drahn@openbsd.org> * Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org> @@ -66,7 +66,6 @@ void clockintr_schedule(struct clockintr *, uint64_t); void clockintr_schedule_locked(struct clockintr *, uint64_t); void clockintr_statclock(struct clockintr *, void *); void clockintr_statvar_init(int, uint32_t *, uint32_t *, uint32_t *); -void clockqueue_init(struct clockintr_queue *); uint64_t clockqueue_next(const struct clockintr_queue *); void clockqueue_reset_intrclock(struct clockintr_queue *); uint64_t nsec_advance(uint64_t *, uint64_t, uint64_t); @@ -114,7 +113,6 @@ clockintr_cpu_init(const struct intrclock *ic) KASSERT(ISSET(clockintr_flags, CL_INIT)); - clockqueue_init(cq); if (ic != NULL && !ISSET(cq->cq_flags, CQ_INTRCLOCK)) { cq->cq_intrclock = *ic; SET(cq->cq_flags, CQ_INTRCLOCK); |