Introducing the Strong APA Scheduler

Gedare Bloom gedare at rtems.org
Thu Sep 10 21:57:43 UTC 2020


On Thu, Sep 10, 2020 at 12:56 PM Richi Dubey <richidubey at gmail.com> wrote:
>
> Yes.
>
>> You'll want to run a "clean" version also for comparison, to isolate
>> problems you might introduce.
>
> Shouldn't the clean version give no errors and timeouts? Cause mine does give failures.
>

There are sometimes bugs or things we know that are broken. So you
need to know the baseline state.

> On Thu, Sep 10, 2020 at 9:02 PM Gedare Bloom <gedare at rtems.org> wrote:
>>
>> On Mon, Sep 7, 2020 at 8:55 AM Richi Dubey <richidubey at gmail.com> wrote:
>> >
>> > Invalid directory. Sorry for the doubt.
>> >
>>
>> Did you get it working?
>>
>> You'll want to run a "clean" version also for comparison, to isolate
>> problems you might introduce.
>>
>> > On Mon, Sep 7, 2020 at 8:18 PM Richi Dubey <richidubey at gmail.com> wrote:
>> >>>
>> >>> You should run all tests that doesn't explicitly configure a scheduler
>> >>> with your new implementation.
>> >>
>> >> I understand.
>> >>
>> >>>
>> >>> Maybey add an
>> >>> #ifndef CONFIGURE_MAXIMUM_PROCESSORS
>> >>> #define CONFIGURE_MAXIMUM_PROCESSORS 1
>> >>> #endif
>> >>> before the default scheduler selection.
>> >>
>> >> This works.
>> >>
>> >> I am getting this error:
>> >> ./rtems-test \ --log=log_leon3_sis \ --rtems-bsp=leon3-sis \ ~/quick-start/build/b-smp-leon3/sparc-rtems5/c/leon3/testsuites
>> >> error: RTEMS Toolkit python wrapper not found, please report
>> >>
>> >> As far as I remember, I had done --enable-tests while building my bsp.
>> >>
>> >> On Mon, Sep 7, 2020 at 7:45 PM Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:
>> >>>
>> >>> On 07/09/2020 16:09, Richi Dubey wrote:
>> >>>
>> >>> >     Did you
>> >>> >     use rtems-test before?
>> >>> >
>> >>> > No. I'll do it now.
>> >>> >
>> >>> > I am individually testing each smp test for now on this patch:
>> >>> You should run all tests that doesn't explicitly configure a scheduler
>> >>> with your new implementation.
>> >>> > ---
>> >>> >  cpukit/include/rtems/confdefs/scheduler.h | 2 +-
>> >>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>> >
>> >>> > diff --git a/cpukit/include/rtems/confdefs/scheduler.h
>> >>> > b/cpukit/include/rtems/confdefs/scheduler.h
>> >>> > index 9305fc2d90..a93e765e53 100644
>> >>> > --- a/cpukit/include/rtems/confdefs/scheduler.h
>> >>> > +++ b/cpukit/include/rtems/confdefs/scheduler.h
>> >>> > @@ -55,7 +55,7 @@
>> >>> >    && !defined(CONFIGURE_SCHEDULER_STRONG_APA) \
>> >>> >    && !defined(CONFIGURE_SCHEDULER_USER)
>> >>> >    #if defined(RTEMS_SMP) && _CONFIGURE_MAXIMUM_PROCESSORS > 1
>> >>> > -    #define CONFIGURE_SCHEDULER_EDF_SMP
>> >>> > +    #define CONFIGURE_SCHEDULER_STRONG_APA
>> >>> >    #else
>> >>> >      #define CONFIGURE_SCHEDULER_PRIORITY
>> >>> >    #endif
>> >>> > --
>> >>> >
>> >>> > -----------------------------------------------------------------------------------
>> >>> > because your suggested patch gives this error:
>> >>> >
>> >>> >
>> >>> > -----------------------------------------------------------------------------------
>> >>> > In file included from
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs/scheduler.h:64:0,
>> >>> >                  from
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs/threads.h:48,
>> >>> >                  from
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs/objectsposix.h:47,
>> >>> >                  from
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs.h:77,
>> >>> >                  from
>> >>> > /home/richi/quick-start/src/rtems/c/src/../../testsuites/samples/base_sp/system.h:39,
>> >>> >                  from
>> >>> > /home/richi/quick-start/src/rtems/c/src/../../testsuites/samples/base_sp/init.c:15:
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/scheduler.h:260:37:
>> >>> > error: 'CONFIGURE_MAXIMUM_PROCESSORS' undeclared here (not in a
>> >>> > function); did you mean '_CONFIGURE_MAXIMUM_PROCESSORS'?
>> >>> >        Scheduler_strong_APA_CPU CPU[ CONFIGURE_MAXIMUM_PROCESSORS ]; \
>> >>> >                                      ^
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs/scheduler.h:149:7:
>> >>> > note: in expansion of macro 'RTEMS_SCHEDULER_STRONG_APA'
>> >>> >        RTEMS_SCHEDULER_STRONG_APA( \
>> >>> >        ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> >>> > /home/richi/quick-start/src/rtems/cpukit/include/rtems/confdefs/scheduler.h:236:3:
>> >>> > note: in expansion of macro 'CONFIGURE_SCHEDULER'
>> >>> >    CONFIGURE_SCHEDULER;
>> >>> >    ^~~~~~~~~~~~~~~~~~~
>> >>> > Makefile:939: recipe for target 'base_sp/base_sp-init.o'
>> >>> > failedp-init.o' failed
>> >>> >
>> >>> > -----------------------------------------------------------------------------------
>> >>> >
>> >>> > This is because single processor scheduler doesn't
>> >>> > have CONFIGURE_MAXIMUM_PROCESSORS defined, So, would you like for me
>> >>> > to make separate definition of CONFIGURE_SCHEDULER_STRONG_APA in
>> >>> > cpukit/include/rtems/scheduler.h for a single processor system or does
>> >>> > the current version that'd work only for SMP processor serve the purpose?
>> >>>
>> >>> Maybey add an
>> >>>
>> >>> #ifndef CONFIGURE_MAXIMUM_PROCESSORS
>> >>>
>> >>> #define CONFIGURE_MAXIMUM_PROCESSORS 1
>> >>>
>> >>> #endif
>> >>>
>> >>> before the default scheduler selection.
>> >>>
>> > _______________________________________________
>> > devel mailing list
>> > devel at rtems.org
>> > http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list