Changeset ba7bc09 in rtems


Ignore:
Timestamp:
May 17, 2011, 7:48:44 PM (9 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, master
Children:
2fa07e02
Parents:
d2bac95b
Message:

2011-05-17 Joel Sherrill <joel.sherrill@…>

PR 1789/cpukit

  • sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Simple SMP Priority Scheduler.
  • score/include/rtems/score/schedulersimplesmp.h, score/src/schedulersimplesmpblock.c, score/src/schedulersimplesmpschedule.c, score/src/schedulersimplesmpunblock.c: New files.
Location:
cpukit
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    rd2bac95b rba7bc09  
     12011-05-17      Joel Sherrill <joel.sherrill@oarcorp.com>
     2
     3        PR 1789/cpukit
     4        * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add
     5        Simple SMP Priority Scheduler.
     6        * score/include/rtems/score/schedulersimplesmp.h,
     7        score/src/schedulersimplesmpblock.c,
     8        score/src/schedulersimplesmpschedule.c,
     9        score/src/schedulersimplesmpunblock.c: New files.
     10
    1112011-05-16      Ralf Corsépius <ralf.corsepius@rtems.org>
    212
  • cpukit/sapi/include/confdefs.h

    rd2bac95b rba7bc09  
    570570 * The scheduler configuration allows an application to select the
    571571 * scheduling policy to use.  The supported configurations are:
    572  *  CONFIGURE_SCHEDULER_USER     - user provided scheduler
    573  *  CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler
    574  *  CONFIGURE_SCHEDULER_SIMPLE   - Light-weight Priority Scheduler
     572 *  CONFIGURE_SCHEDULER_USER       - user provided scheduler
     573 *  CONFIGURE_SCHEDULER_PRIORITY   - Deterministic Priority Scheduler
     574 *  CONFIGURE_SCHEDULER_SIMPLE     - Light-weight Priority Scheduler
     575 *  CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler
    575576 *
    576577 * If no configuration is specified by the application, then
     
    590591#endif
    591592
     593#if !defined(RTEMS_SMP)
     594  #undef CONFIGURE_SCHEDULER_SIMPLE_SMP
     595#endif
     596
    592597/* If no scheduler is specified, the priority scheduler is default. */
    593598#if !defined(CONFIGURE_SCHEDULER_USER) && \
    594599    !defined(CONFIGURE_SCHEDULER_PRIORITY) && \
    595     !defined(CONFIGURE_SCHEDULER_SIMPLE)
    596   #define CONFIGURE_SCHEDULER_PRIORITY
     600    !defined(CONFIGURE_SCHEDULER_SIMPLE) && \
     601    !defined(CONFIGURE_SCHEDULER_SIMPLE_SMP)
     602  #if defined(RTEMS_SMP) && defined(CONFIGURE_SMP_APPLICATION)
     603    #define CONFIGURE_SCHEDULER_SIMPLE_SMP
     604  #else
     605    #define CONFIGURE_SCHEDULER_PRIORITY
     606  #endif
    597607#endif
    598608
     
    624634  /**
    625635   * define the memory used by the simple scheduler
     636   */
     637  #define CONFIGURE_MEMORY_FOR_SCHEDULER ( \
     638    _Configure_From_workspace( sizeof(Chain_Control) ) \
     639  )
     640  #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER (0)
     641#endif
     642
     643/*
     644 * If the Simple SMP Priority Scheduler is selected, then configure for it.
     645 */
     646#if defined(CONFIGURE_SCHEDULER_SIMPLE_SMP)
     647  #include <rtems/score/schedulersimplesmp.h>
     648  #define CONFIGURE_SCHEDULER_ENTRY_POINTS SCHEDULER_SIMPLE_SMP_ENTRY_POINTS
     649
     650  /**
     651   * Define the memory used by the Simple SMP Scheduler
     652   *
     653   * NOTE: This is the same as the Simple Scheduler
    626654   */
    627655  #define CONFIGURE_MEMORY_FOR_SCHEDULER ( \
  • cpukit/score/Makefile.am

    rd2bac95b rba7bc09  
    1313
    1414include_rtems_HEADERS = include/rtems/debug.h include/rtems/system.h \
    15     include/rtems/seterr.h include/rtems/bspsmp.h
     15    include/rtems/seterr.h
     16
     17if HAS_SMP
     18include_rtems_HEADERS += include/rtems/bspsmp.h
     19endif
    1620
    1721include_rtems_scoredir = $(includedir)/rtems/score
     
    3741    include/rtems/score/tqdata.h include/rtems/score/userext.h \
    3842    include/rtems/score/watchdog.h include/rtems/score/wkspace.h \
    39     include/rtems/score/cpuopts.h include/rtems/score/basedefs.h 
     43    include/rtems/score/cpuopts.h include/rtems/score/basedefs.h
    4044
    4145if HAS_SMP
     
    4347    include/rtems/score/smplock.h include/rtems/score/smp.h
    4448endif
    45 
    4649
    4750if HAS_PTHREADS
     
    5558    include/rtems/score/mppkt.h include/rtems/score/objectmp.h \
    5659    include/rtems/score/threadmp.h
     60endif
     61
     62if HAS_SMP
     63include_rtems_score_HEADERS += include/rtems/score/schedulersimplesmp.h
    5764endif
    5865
     
    98105
    99106if HAS_SMP
    100 libscore_a_SOURCES += src/smp.c src/smplock.c
     107libscore_a_SOURCES += src/smp.c src/smplock.c \
     108    src/schedulersimplesmpblock.c src/schedulersimplesmpschedule.c \
     109    src/schedulersimplesmpunblock.c
    101110endif
    102111
  • cpukit/score/preinstall.am

    rd2bac95b rba7bc09  
    3131PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/seterr.h
    3232
     33if HAS_SMP
    3334$(PROJECT_INCLUDE)/rtems/bspsmp.h: include/rtems/bspsmp.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
    3435        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/bspsmp.h
    3536PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/bspsmp.h
    36 
     37endif
    3738$(PROJECT_INCLUDE)/rtems/score/$(dirstamp):
    3839        @$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/score
     
    231232PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/threadmp.h
    232233endif
     234if HAS_SMP
     235$(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h: include/rtems/score/schedulersimplesmp.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     236        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h
     237PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h
     238endif
    233239$(PROJECT_INCLUDE)/rtems/score/address.inl: inline/rtems/score/address.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    234240        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/address.inl
Note: See TracChangeset for help on using the changeset viewer.