Re: ULE/yielding patch for testing.

From: Jeff Roberson <jroberson_at_chesapeake.net>
Date: Thu, 4 Oct 2007 18:27:11 -0700 (PDT)
On Thu, 4 Oct 2007, Daniel Eischen wrote:

> On Thu, 4 Oct 2007, Jeff Roberson wrote:
>
>> 
>> I believe I have fixed this bug in the enclosed patch.  It is rooted from 
>> /usr/src/sys so you should cd there to apply it.
>
> This doesn't break realtime threads doing a sched_yield() does
> it?  I couldn't easily see how the priority gets set back into
> the realtime class range.  But then, maybe I'm a dummy ;-)

Well the historical behavior was for sched_yield() to not adjust 
priorities.  It just requeues at the back of the queue for that priority. 
Xu changed this in 7.0 but he didn't answer my mail as to why.  We have a 
yield() call that does drop to the max timeshare priority, however, it 
doesn't seem to have a man page.

The code removed was this:

-       if (td->td_pri_class == PRI_TIMESHARE)
-               sched_prio(td, PRI_MAX_TIMESHARE);


So it really only effected timesharing threads.

Jeff

>
> -- 
> DE
>
Received on Thu Oct 04 2007 - 23:24:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:18 UTC