summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/posix/include')
-rw-r--r--cpukit/posix/include/rtems/posix/pthreadimpl.h17
-rw-r--r--cpukit/posix/include/rtems/posix/threadsup.h26
2 files changed, 21 insertions, 22 deletions
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h
index ba99392574..988246ed53 100644
--- a/cpukit/posix/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h
@@ -62,7 +62,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert(
_Timespec_To_ticks( &api->Attributes.schedparam.sched_ss_init_budget );
_Watchdog_Per_CPU_insert_relative(
- &api->Sporadic_timer,
+ &api->Sporadic.Timer,
_Per_CPU_Get(),
_Timespec_To_ticks( &api->Attributes.schedparam.sched_ss_repl_period )
);
@@ -81,21 +81,6 @@ void _POSIX_Threads_Sporadic_budget_callout(
);
/**
- * This routine supports the sporadic scheduling algorithm. It
- * is scheduled to be executed at the end of each replenishment
- * period. In sporadic scheduling a thread will execute at a
- * high priority for a user specified amount of CPU time. When
- * it exceeds that amount of CPU time, its priority is automatically
- * lowered. This TSR is executed when it is time to replenish
- * the thread's processor budget and raise its priority.
- *
- * @param[in] id is ignored
- * @param[in] argument is a pointer to the Thread_Control structure
- * for the thread being replenished.
- */
-void _POSIX_Threads_Sporadic_budget_TSR( Watchdog_Control *watchdog );
-
-/**
* @brief Translate sched_param into SuperCore terms.
*
* This method translates the POSIX API sched_param into the corresponding
diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h
index e18a42995a..21977be210 100644
--- a/cpukit/posix/include/rtems/posix/threadsup.h
+++ b/cpukit/posix/include/rtems/posix/threadsup.h
@@ -18,10 +18,7 @@
#ifndef _RTEMS_POSIX_THREADSUP_H
#define _RTEMS_POSIX_THREADSUP_H
-#include <rtems/score/coresem.h>
-#include <rtems/score/isrlock.h>
#include <rtems/score/thread.h>
-#include <rtems/score/threadq.h>
#include <rtems/score/watchdog.h>
#include <pthread.h>
@@ -50,10 +47,27 @@ typedef struct {
pthread_attr_t Attributes;
/**
- * This is the timer which controls when the thread executes at
- * high and low priority when using the sporadic scheduler.
+ * @brief Control block for the sporadic server scheduling policy.
*/
- Watchdog_Control Sporadic_timer;
+ struct {
+ /**
+ * @brief This is the timer which controls when the thread executes at high
+ * and low priority when using the sporadic server scheduling policy.
+ */
+ Watchdog_Control Timer;
+
+ /**
+ * @brief The low priority when using the sporadic server scheduling
+ * policy.
+ */
+ Priority_Control low_priority;
+
+ /**
+ * @brief The high priority when using the sporadic server scheduling
+ * policy.
+ */
+ Priority_Control high_priority;
+ } Sporadic;
/** This is the set of signals which are currently unblocked. */
sigset_t signals_unblocked;