This really helped. Thank you. There is not really anything to change about it. You specialize the > scheduler by the Scheduler_Context and Scheduler_Operations > structures. You still just pass through the context base to the > scheduler table.
I understand. The Ready queue per priority that was used earlier (link <https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/schedulerstrongapa.h#n59>) has to be removed. Hence the question. Thank you. On Mon, Aug 10, 2020 at 9:04 PM Gedare Bloom <ged...@rtems.org> wrote: > On Mon, Aug 10, 2020 at 9:10 AM Richi Dubey <richidu...@gmail.com> wrote: > > > > Hi, > > > > I want your help to figure out how the table entries for a scheduler > work. > > > > For STRONG_APA scheduler, the flow is : > > link > > > ------------------------------------------------------------------------------------------------------- > > #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 > > > ------------------------------------------------------------------------------------------------------- > > > > #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 > > > ------------------------------------------------------------------------------------------------------- > > const Scheduler_Control _Scheduler_Table[] = { > > CONFIGURE_SCHEDULER_TABLE_ENTRIES > > }; > > > > > ------------------------------------------------------------------------------------------------------- > > > > I do not understand what the Scheduler_Table[] or the > SCHEDULER_TABLE_ENTRIES should contain. > > The type definition of the _Scheduler_Table[] is Scheduler_Control. > This structure is defined in > cpukit/include/rtems/score/scheduler.h:269 > > > 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. > > > There is not really anything to change about it. You specialize the > scheduler by the Scheduler_Context and Scheduler_Operations > structures. You still just pass through the context base to the > scheduler table. > > > Thank you, > > Richi. > > _______________________________________________ > > devel mailing list > > devel@rtems.org > > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel