aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_kse.c15
-rw-r--r--sys/kern/kern_thread.c15
2 files changed, 20 insertions, 10 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c
index c7b88432c175..0146cc4a1a5b 100644
--- a/sys/kern/kern_kse.c
+++ b/sys/kern/kern_kse.c
@@ -1692,14 +1692,18 @@ out:
break;
upcalls = 0;
mtx_lock_spin(&sched_lock);
- FOREACH_KSEGRP_IN_PROC(p, kg2)
- upcalls += kg2->kg_numupcalls;
+ FOREACH_KSEGRP_IN_PROC(p, kg2) {
+ if (kg2->kg_numupcalls == 0)
+ upcalls++;
+ else
+ upcalls += kg2->kg_numupcalls;
+ }
mtx_unlock_spin(&sched_lock);
if (upcalls >= max_threads_per_proc)
break;
p->p_maxthrwaits++;
- msleep(&p->p_numthreads, &p->p_mtx, PPAUSE|PCATCH, "maxthreads",
- NULL);
+ msleep(&p->p_numthreads, &p->p_mtx, PPAUSE|PCATCH,
+ "maxthreads", NULL);
p->p_maxthrwaits--;
}
PROC_UNLOCK(p);
@@ -1707,7 +1711,8 @@ out:
if (error) {
/*
- * Things are going to be so screwed we should just kill the process.
+ * Things are going to be so screwed we should just kill
+ * the process.
* how do we do that?
*/
PROC_LOCK(td->td_proc);
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index c7b88432c175..0146cc4a1a5b 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -1692,14 +1692,18 @@ out:
break;
upcalls = 0;
mtx_lock_spin(&sched_lock);
- FOREACH_KSEGRP_IN_PROC(p, kg2)
- upcalls += kg2->kg_numupcalls;
+ FOREACH_KSEGRP_IN_PROC(p, kg2) {
+ if (kg2->kg_numupcalls == 0)
+ upcalls++;
+ else
+ upcalls += kg2->kg_numupcalls;
+ }
mtx_unlock_spin(&sched_lock);
if (upcalls >= max_threads_per_proc)
break;
p->p_maxthrwaits++;
- msleep(&p->p_numthreads, &p->p_mtx, PPAUSE|PCATCH, "maxthreads",
- NULL);
+ msleep(&p->p_numthreads, &p->p_mtx, PPAUSE|PCATCH,
+ "maxthreads", NULL);
p->p_maxthrwaits--;
}
PROC_UNLOCK(p);
@@ -1707,7 +1711,8 @@ out:
if (error) {
/*
- * Things are going to be so screwed we should just kill the process.
+ * Things are going to be so screwed we should just kill
+ * the process.
* how do we do that?
*/
PROC_LOCK(td->td_proc);