Need help understand how the scheduler table entries work

Richi Dubey richidubey at gmail.com
Mon Aug 10 15:09:33 UTC 2020


Hi,

I want your help to figure out how the table entries for a scheduler work.

For STRONG_APA scheduler, the flow is :
link
<https://git.rtems.org/rtems/tree/cpukit/include/rtems/scheduler.h#n263>
-------------------------------------------------------------------------------------------------------
  #define RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) \
    { \
      &SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \
      SCHEDULER_STRONG_APA_ENTRY_POINTS, \
      RTEMS_ARRAY_SIZE( \
        SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Ready \
      ) - 1, \
      ( obj_name ) \
      SCHEDULER_CONTROL_IS_NON_PREEMPT_MODE_SUPPORTED( false ) \
    }

-------------------------------------------------------------------------------------------------------
which is used for:
link
<https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/scheduler.h#n154>
-------------------------------------------------------------------------------------------------------

#ifdef CONFIGURE_SCHEDULER_STRONG_APA
  #ifndef CONFIGURE_SCHEDULER_NAME
    #define CONFIGURE_SCHEDULER_NAME rtems_build_name( 'M', 'A', 'P', 'A' )
  #endif

  #ifndef CONFIGURE_SCHEDULER_TABLE_ENTRIES
    #define CONFIGURE_SCHEDULER \
      RTEMS_SCHEDULER_STRONG_APA( \
        dflt, \
        CONFIGURE_MAXIMUM_PRIORITY + 1 \
      )



*  #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_TABLE_STRONG_APA( dflt, CONFIGURE_SCHEDULER_NAME )  #endif*
#endif
-------------------------------------------------------------------------------------------------------

which is eventually used for:

link
<https://git.rtems.org/rtems/tree/cpukit/include/rtems/confdefs/scheduler.h#n239>
-------------------------------------------------------------------------------------------------------
const Scheduler_Control _Scheduler_Table[] = {
  CONFIGURE_SCHEDULER_TABLE_ENTRIES
};

-------------------------------------------------------------------------------------------------------

I do not understand what the Scheduler_Table[] or the
SCHEDULER_TABLE_ENTRIES should contain.
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.

Thank you,
Richi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200810/624fe093/attachment.html>


More information about the devel mailing list