]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
- If our user_pri doesn't match our actual priority our priority has been
authorJeff Roberson <jeff@FreeBSD.org>
Wed, 15 Oct 2003 07:47:06 +0000 (07:47 +0000)
committerJeff Roberson <jeff@FreeBSD.org>
Wed, 15 Oct 2003 07:47:06 +0000 (07:47 +0000)
commit08fd6713b2ef5ffeadc34ad38a8c48a568962a9a
treef526c3f5c4ad62c797d7ffc9338d81be4a49effc
parent0bea487cfa4036552e959451d7eb8f67a1404c5e
 - If our user_pri doesn't match our actual priority our priority has been
   elevated either due to priority propagation or because we're in the
   kernel in either case, put us on the current queue so that we dont
   stop others from using important resources.  At some point the priority
   elevations from sleeping in the kernel should go away.
 - Remove an optimization in sched_userret().  Before we would only set
   NEEDRESCHED if there was something of a higher priority available.  This
   is a trivial optimization and it breaks priority propagation because it
   doesn't take threads which we may be blocking into account.  Notice that
   the thread which is blocking others gets up to one tick of cpu time before
   we honor this NEEDRESCHED in sched_clock().
sys/kern/sched_ule.c