Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Oct 2004 00:46:48 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern sched_ule.c
Message-ID:  <41849868.3080003@elischer.org>
In-Reply-To: <41849731.1020404@elischer.org>
References:  <200410300735.i9U7ZrL2031884@repoman.freebsd.org> <41849731.1020404@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41849868.3080003>