Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Feb 2026 05:17:19 +0000
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 89388d56afb6 - stable/15 - kern/sched_shim.c: provide required SYSINIT hooks
Message-ID:  <698c10df.256a9.3afd2a04@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch stable/15 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=89388d56afb6c268901ef2adbb67b4cd63e9ac7b

commit 89388d56afb6c268901ef2adbb67b4cd63e9ac7b
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-01-22 13:59:32 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-02-11 05:12:36 +0000

    kern/sched_shim.c: provide required SYSINIT hooks
    
    (cherry picked from commit 7efbfd6ff6490fa6b7144cc341eaf282a21fab32)
---
 sys/kern/sched_shim.c | 25 +++++++++++++++++++++++++
 sys/sys/sched.h       |  3 +++
 2 files changed, 28 insertions(+)

diff --git a/sys/kern/sched_shim.c b/sys/kern/sched_shim.c
index 2dbb6b928961..96c824745815 100644
--- a/sys/kern/sched_shim.c
+++ b/sys/kern/sched_shim.c
@@ -139,5 +139,30 @@ schedinit(void)
 	active_sched->init();
 }
 
+static void
+sched_setup(void *dummy)
+{
+	active_sched->setup();
+}
+SYSINIT(sched_setup, SI_SUB_RUN_QUEUE, SI_ORDER_FIRST, sched_setup, NULL);
+
+static void
+sched_initticks(void *dummy)
+{
+	active_sched->initticks();
+}
+SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks,
+    NULL);
+
+static void
+sched_schedcpu(void)
+{
+	active_sched->schedcpu();
+}
+SYSINIT(schedcpu, SI_SUB_LAST, SI_ORDER_FIRST, sched_schedcpu, NULL);
+
+SYSCTL_NODE(_kern, OID_AUTO, sched, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+    "Scheduler");
+
 SYSCTL_STRING(_kern_sched, OID_AUTO, name, CTLFLAG_RD, sched_name, 0,
     "Scheduler name");
diff --git a/sys/sys/sched.h b/sys/sys/sched.h
index 27d0fc7d0c8d..c8491ede01a0 100644
--- a/sys/sys/sched.h
+++ b/sys/sys/sched.h
@@ -284,6 +284,9 @@ struct sched_instance {
 	void	(*clear_tdname)(struct thread *td);
 	void	(*init)(void);
 	void	(*init_ap)(void);
+	void	(*setup)(void);
+	void	(*initticks)(void);
+	void	(*schedcpu)(void);
 };
 
 extern const struct sched_instance *active_sched;


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?698c10df.256a9.3afd2a04>