Changeset 0118ed6 in rtems


Ignore:
Timestamp:
Mar 16, 2011, 4:32:22 PM (9 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, master
Children:
5bbc204
Parents:
db03612e
Message:

2011-03-16 Jennifer Averett <jennifer.averett@…>

PR 1743/cpu

  • sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Simple Priority Scheduler as complement to existing Deterministic Priority Scheduler. This scheduler serves both as an example and as a lighter weight implementation for smaller systems.
  • score/include/rtems/score/schedulersimple.h, score/inline/rtems/score/schedulersimple.inl, score/src/schedulersimple.c, score/src/schedulersimpleblock.c, score/src/schedulersimpleenqueue.c, score/src/schedulersimpleenqueuefirst.c, score/src/schedulersimpleextract.c, score/src/schedulersimplereadyqueueenqueue.c, score/src/schedulersimplereadyqueueenqueuefirst.c, score/src/schedulersimpleschedule.c, score/src/schedulersimpleunblock.c, score/src/schedulersimpleyield.c: New files.
Location:
cpukit
Files:
12 added
4 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    rdb03612e r0118ed6  
     12011-03-16      Jennifer Averett <jennifer.averett@OARcorp.com>
     2
     3        PR 1743/cpu
     4        * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add
     5        Simple Priority Scheduler as complement to existing Deterministic
     6        Priority Scheduler. This scheduler serves both as an example and as a
     7        lighter weight implementation for smaller systems.
     8        * score/include/rtems/score/schedulersimple.h,
     9        score/inline/rtems/score/schedulersimple.inl,
     10        score/src/schedulersimple.c, score/src/schedulersimpleblock.c,
     11        score/src/schedulersimpleenqueue.c,
     12        score/src/schedulersimpleenqueuefirst.c,
     13        score/src/schedulersimpleextract.c,
     14        score/src/schedulersimplereadyqueueenqueue.c,
     15        score/src/schedulersimplereadyqueueenqueuefirst.c,
     16        score/src/schedulersimpleschedule.c,
     17        score/src/schedulersimpleunblock.c, score/src/schedulersimpleyield.c:
     18        New files.
     19
    1202011-03-16      Joel Sherrill <joel.sherrill@oarcorp.com>
    221
  • cpukit/sapi/include/confdefs.h

    rdb03612e r0118ed6  
    557557 *  CONFIGURE_SCHEDULER_USER     - user provided scheduler
    558558 *  CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler
     559 *  CONFIGURE_SCHEDULER_SIMPLE   - Light-weight Priority Scheduler
    559560 *
    560561 * If no configuration is specified by the application, then
     
    576577/* If no scheduler is specified, the priority scheduler is default. */
    577578#if !defined(CONFIGURE_SCHEDULER_USER) && \
    578     !defined(CONFIGURE_SCHEDULER_PRIORITY)
     579    !defined(CONFIGURE_SCHEDULER_PRIORITY) && \
     580    !defined(CONFIGURE_SCHEDULER_SIMPLE)
    579581  #define CONFIGURE_SCHEDULER_PRIORITY
    580582#endif
     
    596598  #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER ( \
    597599    _Configure_From_workspace(sizeof(Scheduler_priority_Per_thread)) )
     600#endif
     601
     602/*
     603 * If the Simple Priority Scheduler is selected, then configure for it.
     604 */
     605#if defined(CONFIGURE_SCHEDULER_SIMPLE)
     606  #include <rtems/score/schedulersimple.h>
     607  #define SCHEDULER_ENTRY_POINTS SCHEDULER_SIMPLE_ENTRY_POINTS
     608
     609  /**
     610   * define the memory used by the simple scheduler
     611   */
     612  #define CONFIGURE_MEMORY_FOR_SCHEDULER ( \
     613    _Configure_From_workspace( sizeof(Chain_Control) ) \
     614  )
     615  #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER (0)
    598616#endif
    599617
  • cpukit/score/Makefile.am

    rdb03612e r0118ed6  
    2828    include/rtems/score/priority.h include/rtems/score/prioritybitmap.h \
    2929    include/rtems/score/scheduler.h include/rtems/score/schedulerpriority.h \
     30    include/rtems/score/schedulersimple.h \
    3031    include/rtems/score/stack.h include/rtems/score/states.h \
    3132    include/rtems/score/sysstate.h include/rtems/score/thread.h \
     
    5758    inline/rtems/score/priority.inl inline/rtems/score/prioritybitmap.inl \
    5859    inline/rtems/score/scheduler.inl inline/rtems/score/schedulerpriority.inl \
     60    inline/rtems/score/schedulersimple.inl \
    5961    inline/rtems/score/stack.inl inline/rtems/score/states.inl \
    6062    inline/rtems/score/sysstate.inl inline/rtems/score/thread.inl \
     
    156158    src/schedulerpriorityyield.c
    157159
     160## SCHEDULERSIMPLE_C_FILES
     161libscore_a_SOURCES += src/schedulersimple.c \
     162    src/schedulersimpleblock.c \
     163    src/schedulersimpleenqueue.c \
     164    src/schedulersimpleenqueuefirst.c \
     165    src/schedulersimpleextract.c \
     166    src/schedulersimplereadyqueueenqueue.c \
     167    src/schedulersimplereadyqueueenqueuefirst.c \
     168    src/schedulersimpleschedule.c \
     169    src/schedulersimpleunblock.c \
     170    src/schedulersimpleyield.c
     171
    158172## PROTECTED_HEAP_C_FILES
    159173libscore_a_SOURCES += src/pheapallocate.c \
  • cpukit/score/preinstall.am

    rdb03612e r0118ed6  
    120120PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulerpriority.h
    121121
     122$(PROJECT_INCLUDE)/rtems/score/schedulersimple.h: include/rtems/score/schedulersimple.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     123        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/schedulersimple.h
     124PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulersimple.h
     125
    122126$(PROJECT_INCLUDE)/rtems/score/stack.h: include/rtems/score/stack.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    123127        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/stack.h
     
    262266PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulerpriority.inl
    263267
     268$(PROJECT_INCLUDE)/rtems/score/schedulersimple.inl: inline/rtems/score/schedulersimple.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     269        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/schedulersimple.inl
     270PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulersimple.inl
     271
    264272$(PROJECT_INCLUDE)/rtems/score/stack.inl: inline/rtems/score/stack.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    265273        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/stack.inl
Note: See TracChangeset for help on using the changeset viewer.