On Tue, Aug 11, 2020 at 12:42 AM Richi Dubey <richidu...@gmail.com> wrote: > > 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) has > to be removed. Hence the question. > Hopefully, you have got to know that is just to find the maximum priority in setting up the table entry.
> 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