summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_4bsd.c
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2004-06-16 00:26:31 +0000
committerjulian <julian@FreeBSD.org>2004-06-16 00:26:31 +0000
commit6c9d81ae0df6427002b251b73dadd33e8dcad9ac (patch)
treeccd863bb9258875fbfaaa74744c38e9db22822b0 /sys/kern/sched_4bsd.c
parenteedef68f32aacaf0c79774e686ad03691318b8d3 (diff)
downloadFreeBSD-src-6c9d81ae0df6427002b251b73dadd33e8dcad9ac.zip
FreeBSD-src-6c9d81ae0df6427002b251b73dadd33e8dcad9ac.tar.gz
Nice, is a property of a process as a whole..
I mistakenly moved it to the ksegroup when breaking up the process structure. Put it back in the proc structure.
Diffstat (limited to 'sys/kern/sched_4bsd.c')
-rw-r--r--sys/kern/sched_4bsd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c
index 4d3c939..b339b58 100644
--- a/sys/kern/sched_4bsd.c
+++ b/sys/kern/sched_4bsd.c
@@ -439,7 +439,7 @@ resetpriority(struct ksegrp *kg)
if (kg->kg_pri_class == PRI_TIMESHARE) {
newpriority = PUSER + kg->kg_estcpu / INVERSE_ESTCPU_WEIGHT +
- NICE_WEIGHT * (kg->kg_nice - PRIO_MIN);
+ NICE_WEIGHT * (kg->kg_proc->p_nice - PRIO_MIN);
newpriority = min(max(newpriority, PRI_MIN_TIMESHARE),
PRI_MAX_TIMESHARE);
kg->kg_user_pri = newpriority;
@@ -583,13 +583,16 @@ sched_fork_thread(struct thread *td, struct thread *child)
}
void
-sched_nice(struct ksegrp *kg, int nice)
+sched_nice(struct proc *p, int nice)
{
+ struct ksegrp *kg;
- PROC_LOCK_ASSERT(kg->kg_proc, MA_OWNED);
+ PROC_LOCK_ASSERT(p, MA_OWNED);
mtx_assert(&sched_lock, MA_OWNED);
- kg->kg_nice = nice;
- resetpriority(kg);
+ p->p_nice = nice;
+ FOREACH_KSEGRP_IN_PROC(p, kg) {
+ resetpriority(kg);
+ }
}
void
OpenPOWER on IntegriCloud