From owner-cvs-all@FreeBSD.ORG Wed Oct 15 00:47:07 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CECCD16A4B3; Wed, 15 Oct 2003 00:47:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6402A43FBD; Wed, 15 Oct 2003 00:47:07 -0700 (PDT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9F7l7XJ040983; Wed, 15 Oct 2003 00:47:07 -0700 (PDT) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9F7l7pp040915; Wed, 15 Oct 2003 00:47:07 -0700 (PDT) (envelope-from jeff) Message-Id: <200310150747.h9F7l7pp040915@repoman.freebsd.org> From: Jeff Roberson Date: Wed, 15 Oct 2003 00:47:07 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern sched_ule.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Oct 2003 07:47:08 -0000 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