summaryrefslogtreecommitdiffstats
path: root/sys/sys/sched.h
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2004-07-18 23:36:13 +0000
committerjulian <julian@FreeBSD.org>2004-07-18 23:36:13 +0000
commita488bebcd21f1e39697ac09fdac970a06d6fb621 (patch)
tree548243b8828b679ca121764ef843b623c31cf5b9 /sys/sys/sched.h
parentd538dc62fd30a8ac9beb2f57ffc4321e42569aab (diff)
downloadFreeBSD-src-a488bebcd21f1e39697ac09fdac970a06d6fb621.zip
FreeBSD-src-a488bebcd21f1e39697ac09fdac970a06d6fb621.tar.gz
When calling scheduler entrypoints for creating new threads and processes,
specify "us" as the thread not the process/ksegrp/kse. You can always find the others from the thread but the converse is not true. Theorotically this would lead to runtime being allocated to the wrong entity in some cases though it is not clear how often this actually happenned. (would only affect threaded processes and would probably be pretty benign, but it WAS a bug..) Reviewed by: peter
Diffstat (limited to 'sys/sys/sched.h')
-rw-r--r--sys/sys/sched.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/sys/sched.h b/sys/sys/sched.h
index 461842a..6836fe0 100644
--- a/sys/sys/sched.h
+++ b/sys/sys/sched.h
@@ -45,16 +45,16 @@ int sched_runnable(void);
/*
* Proc related scheduling hooks.
*/
-void sched_exit(struct proc *p, struct proc *child);
-void sched_fork(struct proc *p, struct proc *child);
+void sched_exit(struct proc *p, struct thread *childtd);
+void sched_fork(struct thread *td, struct proc *child);
/*
* KSE Groups contain scheduling priority information. They record the
* behavior of groups of KSEs and threads.
*/
void sched_class(struct ksegrp *kg, int class);
-void sched_exit_ksegrp(struct ksegrp *kg, struct ksegrp *child);
-void sched_fork_ksegrp(struct ksegrp *kg, struct ksegrp *child);
+void sched_exit_ksegrp(struct ksegrp *kg, struct thread *childtd);
+void sched_fork_ksegrp(struct thread *td, struct ksegrp *child);
void sched_nice(struct proc *p, int nice);
/*
@@ -90,8 +90,8 @@ static __inline void sched_unpin(void);
/*
* These interfaces will eventually be removed.
*/
-void sched_exit_kse(struct kse *ke, struct kse *child);
-void sched_fork_kse(struct kse *ke, struct kse *child);
+void sched_exit_kse(struct kse *ke, struct thread *childtd);
+void sched_fork_kse(struct thread *td, struct kse *child);
/*
* These procedures tell the process data structure allocation code how
OpenPOWER on IntegriCloud