aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2005-02-04 17:22:46 +0000
committerJeff Roberson <jeff@FreeBSD.org>2005-02-04 17:22:46 +0000
commit42a29039dea8a3c31b2b4f05981083bbf32385ed (patch)
treec4c56c2975f6e252d960999068b63bdc9a53a82e /sys
parent2e0af0312e6af61226315fb01c8980fd1e7d6174 (diff)
downloadsrc-42a29039dea8a3c31b2b4f05981083bbf32385ed.tar.gz
src-42a29039dea8a3c31b2b4f05981083bbf32385ed.zip
- Add ke_runq == NULL to the conditions which will cause us to abort
adjusting timeshare loads in sched_class(). This is only important if the thread has never run, otherwise the state checks should work as expected.
Notes
Notes: svn path=/head/; revision=141292
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/sched_ule.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 696d700af6df..6c1491377292 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -1534,8 +1534,8 @@ sched_class(struct ksegrp *kg, int class)
oclass = PRI_BASE(kg->kg_pri_class);
FOREACH_THREAD_IN_GROUP(kg, td) {
ke = td->td_kse;
- if (ke->ke_state != KES_ONRUNQ &&
- ke->ke_state != KES_THREAD)
+ if ((ke->ke_state != KES_ONRUNQ &&
+ ke->ke_state != KES_THREAD) || ke->ke_runq == NULL)
continue;
kseq = KSEQ_CPU(ke->ke_cpu);