Introducing the Strong APA Scheduler

Gedare Bloom gedare at rtems.org
Thu Sep 10 15:32:01 UTC 2020


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