[Bug 1647] Modular SuperCore Scheduler

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Sat Aug 7 15:51:39 UTC 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1647

--- Comment #7 from Joel Sherrill <joel.sherrill at oarcorp.com> 2010-08-07 10:51:37 CDT ---
Some first comments ..

+ Need list of files to add.  :-D

+ Need list of files to delete. :-D

+ We should not end up with all schedulers in an executable.  AFAIK
the user will select a single scheduler for their application.  In
my mind, this means that each scheduler is basically represented
by a table of methods and values.  Then when selecting a scheduler
at application configuration time, we just fill in a pointer so it
points to the right table. This is the same as the malloc configuration
for plugins.  A single pointer to a table of methods.

+ Move scheduler policy out of the Configuration Table and make it
so the user is setting a variable that we can directly use in
the Score.  This ties in to simplifying the initialization of the
scheduler below where you set some fields.  

+ Since this is not settled yet, I am not surprised there is no
documentation but this will HAVE to be documented.  Complicating
this in my mind, is that we should not only explain the mechanics
for configuring a particular scheduler, we should explain the
scheduler itself and when it is good and bad.  Pointers to papers, etc.

+ There should also be documentation of some sort on writing your
own scheduler.

+ Why is rq_ops abbreviated?  Please avoid abbreviations.

+ Your Doxygen comments do not document the parameters.

+ readyqueue.h sometimes has an extra blank comment line in Doxygen comments.
Check all files.

+ readyqueue.h has cases where parameters do not line up.  Please check
all and fix.

+ s_ops abbreviation.

+ "the sched field" in comments.

+ I can't see how scheduler could be per-cpu.  But make this and all other
references to doing this as a Doxygen "@note".

+ _Scheduler is a uniquely named variable per our _Package_Member style
but it makes sense. :)

+ schedulerpriority - _Sched_xxx, spell out.

+ Only single blank lines.  There is a way to do this with a shell program
easily.

+ Only single "blanks" in comments.  This could be..

/*
 *

OR

 *
 *

+ return (X) --> return X;

+ Check all copyrights for 2010.  I see 200x and 199x.  These appear 
to be ones you renamed and moved but should be updated to 2010.

+ I need to purge "/*PAGE" since it is from an old print formatting script
we used in the dark days of RTEMS but please remove it from all of your
files.

+ Please explain what's happening with the assignments into operation
fields in schedulerpriority.c.  Are these the only implementation currently?
Should the "Scheduler Configuration Structure" just have them?  

+ Search for immediatly -- fix spelling (not your fault I think).

+ score/Makefile.am - formatting of additions.  Looks like tabs not spaces.

+ Comment on _Thread_Calculate_heir.  Says "returns" .. really sets 
_Thread_Heir. 

Most of this is style issues which should be easy to address.  The
Configuration and presentation to the user are more difficult but 
just need discussion and evaluation.

FWIW since you have a goal of being a prof, I think this is an awesome
opportunity for a paper.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list