From 769a3635379b0b4fb3da1658b804b8b4a14d2e96 Mon Sep 17 00:00:00 2001 From: Jeff Roberson Date: Sun, 2 Nov 2003 04:25:59 +0000 Subject: [PATCH] - In sched_prio() only force us onto the current queue if our priority is being elevated (numerically smaller). --- sys/kern/sched_ule.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 246adc416043..1069342b8c5b 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -934,7 +934,8 @@ sched_prio(struct thread *td, u_char prio) * queue. We still call adjustrunqueue below in case kse * needs to fix things up. */ - if (ke && (ke->ke_flags & KEF_ASSIGNED) == 0 && + if (prio < td->td_priority && ke && + (ke->ke_flags & KEF_ASSIGNED) == 0 && ke->ke_runq != KSEQ_CPU(ke->ke_cpu)->ksq_curr) { runq_remove(ke->ke_runq, ke); ke->ke_runq = KSEQ_CPU(ke->ke_cpu)->ksq_curr;