Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Mar 2010 13:15:56 -0800
From:      Randall Stewart <rrs@lakerest.net>
To:        Jeff Roberson <jeff@FreeBSD.org>, kib@FreeBSD.org
Cc:        FreeBSD Current <freebsd-current@FreeBSD.org>
Subject:   Patch to make ksched work right..
Message-ID:  <EBEBE06A-9A96-402D-A3EC-29147C14284D@lakerest.net>

next in thread | raw e-mail | index | archive | help
Jeff/Kib:

I have made a small patch to make it so you
can properly use the sched_getparam and sched_setscheduler() have them  
work
properly for time-share classes. There were comments in the code
about rejecting the idea of using it, but that is really not a good
idea IMO since you need to be able to use a common posix method for
this... at least to be somewhat compatible.

Note that sched_getparam() right now returns garbage for a time share  
class... ;-o

The patch is at:

http://www.freebsd.org/~rrs/ksched_patch.txt

For when a Time Share class is moved up to real-time I just return the  
posix
max priority for it... now that leads me to...

The one question I have, has I have dug through looking at
the scheduler to figure this all out is: why does a TimeShare class
process get a Real Time priority when its being good...i.e. sleeping a  
lot
etc.

It seems to me you would want to have true realtime processes be real  
time and
be ahead of all timeshare not equal sharing with realtime i.e. they  
would time
share with a priority between 223-160... Is there some
reason that this works this way that I can't puzzle out with my quick
review of the sched_ule code? For some of the things I am planning at my
day job I really need to have T-S processes be separate from the real  
time unless
you know of some pitfall there??

If you have no objections I will commit this..

Thanks

R
------------------------------
Randall Stewart
803-317-4952 (cell)
803-345-0391(direct)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EBEBE06A-9A96-402D-A3EC-29147C14284D>