[Bug 1906] CBS scheduler implementation
bugzilla-daemon at rtems.org
bugzilla-daemon at rtems.org
Tue Sep 13 21:51:03 UTC 2011
https://www.rtems.org/bugzilla/show_bug.cgi?id=1906
--- Comment #8 from Joel Sherrill <joel.sherrill at oarcorp.com> 2011-09-13 16:51:01 CDT ---
(In reply to comment #6)
> (In reply to comment #4)
> > There are some warnings which I think I cleaned up OK. Prototype for budget
> > overrun callout should be:
> >
> > void _Scheduler_CBS_Budget_overrun(Thread_Control *the_thread)
> OK
> >
> > We discussed not using a signal send from score. I would prefer a callback to
> > be registered. The use of signals assumes you know that is that the end user
> > wants to do and that the signal chosen doesn't conflict.
> I blindly tried to change it to a callback. However, the difference is that a
> service routine runs in a different context (I assume) because it is invoked
> directly from the budget overrun callback. Thus, the user has to use printk()
> instead of printf() in the callback. It is a little weird, what do you think?
Not particularly. The environment has to be defined and documented. It is
no different than having a user extension invoked. Those have very particular
requirements on behavior also.
If it makes sense for the test code to register a handler which results in
a signal being sent, then that's cool.
If the library needs the signal, we want to avoid that. Remember an
application
can only have one Classic API signal handler.
> >
> > There are warnings in the tests for printf formats. I fixed those for EDF
> > tests before I committed them.
> I'm fixing it.
This one was easy. Thanks.
> >
> > If we can address the callback/signal issue, this should be OK to merge.
> > Double check Doxygen for warnings.
> I do not know how to identify the Doxygen warnings, but I have found two spots
> to fix.
This is a fragment from the script that does it nightly on rtems.org
===========================
rm -rf b-doc
mkdir b-doc
cd b-doc
$r/configure --target=sparc-rtems4.11 --enable-rtemsbsp=sis \
--disable-networking --disable-tests >c.log 2>&1
make -j3 preinstall >b.log 2>&1
cd sparc-rtems4.11/c/sis/cpukit
#mv Doxyfile Doxyfile.tmp
sed -e "s,^OUTPUT_DIRECTORY.*=.*$,OUTPUT_DIRECTORY = ${outdir}-tmp," \
-e "s,^STRIP_FROM_PATH.*=.*$,STRIP_FROM_PATH = ," \
-e "s,^INPUT.*=.*lib.*$,INPUT = ," \
<Doxyfile >../../../sis/lib/include/Doxyfile
cd ../../../sis/lib/include
doxygen >${d}/doxy.log 2>&1
===========================
ensure every method has an @brief, @return, etc.
> >
> > I would like to get these algorithms merged and documented. :)
FWIW I read the schedule.t chapter today. It has been updated since the
Scheduler plugin framework went in. But not since there were multiple
algorithms. So not too bad (I think) once I am not taking pain killers
and am back on top of things.
--
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