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>