Changeset 1fac361 in rtems


Ignore:
Timestamp:
Mar 24, 2014, 7:51:37 AM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
a75242eb
Parents:
9b44339c
git-author:
Sebastian Huber <sebastian.huber@…> (03/24/14 07:51:37)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/25/14 12:19:26)
Message:

score: PR2174: Add workaround

Add _Scheduler_FIXME_thread_priority_queues_are_broken to prevent thread
priority queues in case an EDF scheduler is used.

Location:
cpukit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/sapi/include/confdefs.h

    r9b44339c r1fac361  
    782782    CONFIGURE_SCHEDULER_ENTRY_POINTS  /* Scheduler Operations */
    783783  };
     784
     785  #if defined(CONFIGURE_SCHEDULER_EDF)
     786    const bool _Scheduler_FIXME_thread_priority_queues_are_broken = true;
     787  #else
     788    const bool _Scheduler_FIXME_thread_priority_queues_are_broken = false;
     789  #endif
    784790#endif
    785791
  • cpukit/score/include/rtems/score/scheduler.h

    r9b44339c r1fac361  
    185185);
    186186
     187/*
     188 * See also PR2174: Memory corruption with EDF scheduler and thread priority
     189 * queues.
     190 */
     191extern const bool _Scheduler_FIXME_thread_priority_queues_are_broken;
     192
    187193/**@}*/
    188194
  • cpukit/score/src/threadq.c

    r9b44339c r1fac361  
    2121#include <rtems/score/threadqimpl.h>
    2222#include <rtems/score/chainimpl.h>
     23#include <rtems/score/scheduler.h>
    2324
    2425void _Thread_queue_Initialize(
     
    2930)
    3031{
     32  if ( _Scheduler_FIXME_thread_priority_queues_are_broken ) {
     33    the_discipline = THREAD_QUEUE_DISCIPLINE_FIFO;
     34  }
     35
    3136  the_thread_queue->state          = state;
    3237  the_thread_queue->discipline     = the_discipline;
Note: See TracChangeset for help on using the changeset viewer.