[Bug 1743] Simple priority plug-in scheduler
bugzilla-daemon at rtems.org
bugzilla-daemon at rtems.org
Sun Feb 27 17:31:25 UTC 2011
https://www.rtems.org/bugzilla/show_bug.cgi?id=1743
--- Comment #2 from Joel Sherrill <joel.sherrill at oarcorp.com> 2011-02-27 11:31:24 CST ---
(In reply to comment #1)
> cpukit/score/include/rtems/score/schedulersimple.h:
> + _Scheduler_priorisimple_t /* extract entry point */ \
> mangled spelling? I think you mean _Scheduler_simple_Extract
Yeah. I pinged her on that.
> cpukit/score/inline/rtems/score/schedulersimple.inl:
> _Scheduler_simple_Ready_queue_Enqueue_first
> Don't need to loop here, just put it on the front of the ready queue. This
> function isn't used often afaik.
But it has to do the right thing even if it is only used once. This routine is
supposed to enqueue a task at the front of its priority group. So you can't
just prepend it.
Remember this scheduler implementation is functionally identical to the default
scheduler except that it uses a single ordered chain. So we have to end up
with a list that looks like this:
Hi1 Med1 Med2 Med3 Lo1 IDLE
enqueue Med4 needs to put it after Med3.
enqueue_first Med4 needs to put it after Hi1.
This scheduler honors both priority order and FIFO within priority.
> cpukit/score/src/schedulerpriorityextract.c:
> cpukit/score/src/schedulerpriorityupdate.c:
> Whitespace fixes are distracting
She will commit those separately and update the patch.
> cpukit/score/src/schedulersimple.c:
> _Scheduler_simple_Initialize
> + void *f;
> Why not of type Chain_Control *?
Two of the three uses in this method require void *.
--
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