Thanks for the reply. Yes, I got it from your previous mail( https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/scheduler.h#n286 ).
On Tue, Aug 11, 2020 at 6:39 PM Gedare Bloom <ged...@rtems.org> wrote: > 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