PERFORCE change 100241 for review
Chris Jones
cdjones at FreeBSD.org
Wed Jun 28 23:36:32 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=100241
Change 100241 by cdjones at cdjones-impulse on 2006/06/28 23:15:02
Add some notes about who calls what.
Affected files ...
.. //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#3 edit
Differences ...
==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#3 (text+ko) ====
@@ -24,6 +24,7 @@
*/
#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
#include "opt_hwpmc_hooks.h"
@@ -79,14 +80,24 @@
/* TODO */
}
+/* Internal machinations for hierarchical scheduler go here.
+ *
+ * We need an interface for the sub-schedulers to implement.
+ *
+ */
+
+
+
/* Common external interface stuff goes here.
- (from sys/sched.h)
-*/
+ * (from sys/sched.h)
+ */
+/* Initialize the scheduler, called from init_main.c.
+ * Code taken blindly from sched_4bsd.c.
+ */
void
schedinit(void)
{
-
proc0.p_sched = NULL;
ksegrp0.kg_sched = &kg_sched0;
thread0.td_sched = &kse0;
@@ -96,65 +107,91 @@
kg_sched0.skg_avail_openings = 0; /* we are already running */
}
+/* Calculate the load average.
+ * Called from kern_synch:loadav.
+ */
int
sched_load(void)
{
}
+/* Do we have a runnable process?
+ * Called from kern_idle:idle_proc.
+ */
int
-sched_rr_internal(void)
-{
-
-}
-
-int
sched_runnable(void)
{
}
+/* Remove a thread from the scheduler.
+ * Called from kern_exit:exit1.
+ */
void
sched_exit(struct proc *p, struct thread *childtd)
{
}
-
+/* Adjust thread priorities on fork.
+ * Called from kern_fork:fork1.
+ */
void
sched_fork(struct thread *td, struct thread *childtd)
{
}
+/* Adjust a thread's class.
+ * Called from kern_idle:idle_setup and kern_resource:rtp_to_pri.
+ */
void
sched_class(struct ksegrp *kg, int class)
{
}
+/*
+ * Called from kern_thread:thread_exit.
+ */
void
sched_exit_ksegrp(struct ksegrp *kg, struct thread *childtd)
{
}
+/*
+ * Called from kern_kse:kse_create and kern_thr:create_thread.
+ */
void
sched_fork_ksegrp(struct ksegrp *kg, struct thread *childtd)
{
}
+/*
+ * Called from kern_resource:donice and kern_sig:tdsigwakeup.
+ */
void
sched_nice(struct proc *p, int nice)
{
}
+/*
+ * Called from kern_thread:thread_exit.
+ */
void
sched_exit_thread(struct thread *td, struct thread *child)
{
}
+/*
+ *
+ */
void
sched_fork_thread(struct thread *td, struct thread *child)
{
}
+/*
+ * Called from kern_proc:fill_kinfo_thread.
+ */
fixpt_t
sched_pctcpu(struct thread *td)
{
@@ -247,3 +284,6 @@
{
return (sizeof(struct thread) + sizeof(struct td_sched));
}
+
+#define KERN_SWITCH_INCLUDE 1
+#include "kern/kern_switch.c"
More information about the p4-projects
mailing list