diff options
author | bde <bde@FreeBSD.org> | 1998-10-25 19:57:23 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1998-10-25 19:57:23 +0000 |
commit | 1dabb16c3c254c5a40b26f275e29de7b2ea13060 (patch) | |
tree | 5eb31e8ae945182bec40d6771f64bcc12edee20b /sys/kern | |
parent | 558766fa9415f59d49437a086cc1260d95828a0b (diff) | |
download | FreeBSD-src-1dabb16c3c254c5a40b26f275e29de7b2ea13060.zip FreeBSD-src-1dabb16c3c254c5a40b26f275e29de7b2ea13060.tar.gz |
Fixed breakage of the !SMP case of roundrobin() in the previous commit.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_synch.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 22046a6..c88695b 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_synch.c 8.9 (Berkeley) 5/19/95 - * $Id: kern_synch.c,v 1.62 1998/08/26 05:27:42 dillon Exp $ + * $Id: kern_synch.c,v 1.63 1998/10/25 17:44:51 phk Exp $ */ #include "opt_ktrace.h" @@ -138,6 +138,9 @@ static void roundrobin(arg) void *arg; { +#ifndef SMP + struct proc *p = curproc; /* XXX */ +#endif #ifdef SMP need_resched(); @@ -290,7 +293,7 @@ schedcpu(arg) #define PPQ (128 / NQS) /* priorities per queue */ if ((p != curproc) && #ifdef SMP - (u_char)p->p_oncpu == 0xff && /* idle */ + p->p_oncpu == 0xff && /* idle */ #endif p->p_stat == SRUN && (p->p_flag & P_INMEM) && @@ -632,7 +635,7 @@ mi_switch() #ifdef SIMPLELOCK_DEBUG if (p->p_simple_locks) - printf("sleep: holding simple lock\n"); + Debugger("sleep: holding simple lock\n"); #endif /* * Compute the amount of time during which the current @@ -648,9 +651,9 @@ mi_switch() */ if (p->p_stat != SZOMB && p->p_runtime > p->p_limit->p_cpulimit) { rlim = &p->p_rlimit[RLIMIT_CPU]; - if (p->p_runtime / (rlim_t)1000000 >= rlim->rlim_max) { + if (p->p_runtime / 1000000 >= rlim->rlim_max) killproc(p, "exceeded maximum CPU limit"); - } else { + else { psignal(p, SIGXCPU); if (rlim->rlim_cur < rlim->rlim_max) { /* XXX: we should make a private copy */ |