<div dir="ltr">This really helped. Thank you. <div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">There is not really anything to change about it. You specialize the<br>scheduler by the Scheduler_Context and Scheduler_Operations<br>structures. You still just pass through the context base to the<br>scheduler table.</blockquote><div>I understand. The Ready queue per priority that was used earlier (<a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/schedulerstrongapa.h#n59">link</a>) has to be removed. Hence the question.</div><div><br></div><div>Thank you.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 10, 2020 at 9:04 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Aug 10, 2020 at 9:10 AM Richi Dubey <<a href="mailto:richidubey@gmail.com" target="_blank">richidubey@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I want your help to figure out how the table entries for a scheduler work.<br>
><br>
> For STRONG_APA scheduler, the flow is :<br>
> link<br>
> -------------------------------------------------------------------------------------------------------<br>
> #define RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) \<br>
> { \<br>
> &SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \<br>
> SCHEDULER_STRONG_APA_ENTRY_POINTS, \<br>
> RTEMS_ARRAY_SIZE( \<br>
> SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Ready \<br>
> ) - 1, \<br>
> ( obj_name ) \<br>
> SCHEDULER_CONTROL_IS_NON_PREEMPT_MODE_SUPPORTED( false ) \<br>
> }<br>
><br>
> -------------------------------------------------------------------------------------------------------<br>
> which is used for:<br>
> link<br>
> -------------------------------------------------------------------------------------------------------<br>
><br>
> #ifdef CONFIGURE_SCHEDULER_STRONG_APA<br>
> #ifndef CONFIGURE_SCHEDULER_NAME<br>
> #define CONFIGURE_SCHEDULER_NAME rtems_build_name( 'M', 'A', 'P', 'A' )<br>
> #endif<br>
><br>
> #ifndef CONFIGURE_SCHEDULER_TABLE_ENTRIES<br>
> #define CONFIGURE_SCHEDULER \<br>
> RTEMS_SCHEDULER_STRONG_APA( \<br>
> dflt, \<br>
> CONFIGURE_MAXIMUM_PRIORITY + 1 \<br>
> )<br>
><br>
> #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \<br>
> RTEMS_SCHEDULER_TABLE_STRONG_APA( dflt, CONFIGURE_SCHEDULER_NAME )<br>
> #endif<br>
> #endif<br>
> -------------------------------------------------------------------------------------------------------<br>
><br>
> which is eventually used for:<br>
><br>
> link<br>
> -------------------------------------------------------------------------------------------------------<br>
> const Scheduler_Control _Scheduler_Table[] = {<br>
> CONFIGURE_SCHEDULER_TABLE_ENTRIES<br>
> };<br>
><br>
> -------------------------------------------------------------------------------------------------------<br>
><br>
> I do not understand what the Scheduler_Table[] or the SCHEDULER_TABLE_ENTRIES should contain.<br>
<br>
The type definition of the _Scheduler_Table[] is Scheduler_Control.<br>
This structure is defined in<br>
cpukit/include/rtems/score/scheduler.h:269<br>
<br>
> I need help with this because I have to change the RTEMS_SCHEDULER_TABLE_STRONG_APA since I am changing some of the variables in the Scheduler_strong_APA_Context.<br>
><br>
There is not really anything to change about it. You specialize the<br>
scheduler by the Scheduler_Context and Scheduler_Operations<br>
structures. You still just pass through the context base to the<br>
scheduler table.<br>
<br>
> Thank you,<br>
> Richi.<br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>