Date: Wed, 15 Oct 2003 00:47:07 -0700 (PDT) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern sched_ule.c Message-ID: <200310150747.h9F7l7pp040915@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2003/10/15 00:47:07 PDT
FreeBSD src repository
Modified files:
sys/kern sched_ule.c
Log:
- 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().
Revision Changes Path
1.59 +10 -3 src/sys/kern/sched_ule.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310150747.h9F7l7pp040915>
