From owner-cvs-src@FreeBSD.ORG Sun Oct 31 07:46:53 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4163216A4CE; Sun, 31 Oct 2004 07:46:53 +0000 (GMT) Received: from pimout2-ext.prodigy.net (pimout2-ext.prodigy.net [207.115.63.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBE1143D1D; Sun, 31 Oct 2004 07:46:52 +0000 (GMT) (envelope-from julian@elischer.org) Received: from [192.168.1.102] (adsl-68-123-122-146.dsl.snfc21.pacbell.net [68.123.122.146])i9V7knpq323836; Sun, 31 Oct 2004 02:46:49 -0500 Message-ID: <41849868.3080003@elischer.org> Date: Sun, 31 Oct 2004 00:46:48 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8a3) Gecko/20041017 X-Accept-Language: en, hu MIME-Version: 1.0 To: Julian Elischer References: <200410300735.i9U7ZrL2031884@repoman.freebsd.org> <41849731.1020404@elischer.org> In-Reply-To: <41849731.1020404@elischer.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: Jeff Roberson cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern sched_ule.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Oct 2004 07:46:53 -0000 Julian Elischer wrote: > Jeff Roberson wrote: > >> jeff 2004-10-30 07:35:53 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/kern sched_ule.c Log: >> - In sched_prio() check to see if the kse is assigned to a runq as the >> check for TD_ON_RUNQ() no longer means the thread is really on a >> run- >> queue. I suspect this state should be re-evaluated as it must mean >> something else now. This fixes ULE+KSE+PREEMPTION on UP x86. > > > It never did mean that it was on a system run queue.. > It meant that it was on the KSEGROUP's run queue. > For whether the kse associated with the thread is in a system run queue you > need to ask the KSE. To add more to this: you need to check the KSE state to see if it is set to KES_ONRUNQ A thread can be runnable from the processes point of view but not available to the system to schedule because that process already has too many threads runnable or running. Once the thread is made availabel to the system to run and sis put on the system run queues, it's KSE's sate will be set to KES_ONRUNQ. > >> Revision Changes Path >> 1.135 +1 -1 src/sys/kern/sched_ule.c