summaryrefslogtreecommitdiff
path: root/cpukit/score/include/rtems/score/schedulerpriority.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-06-17 14:31:46 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-06-17 14:31:46 +0000
commit3203e09507da6484f267605793fd770586a63d55 (patch)
tree882a86450acc183b1485995ae7b14e430e27a358 /cpukit/score/include/rtems/score/schedulerpriority.h
parent169480b36a109cce45846a95e29f4120ad6a0375 (diff)
2011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1819/cpukit * rtems/src/clocktick.c, score/Makefile.am, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/schedulersimple.h, score/include/rtems/score/schedulersimplesmp.h, score/include/rtems/score/thread.h, score/inline/rtems/score/scheduler.inl: Add a scheduler entry point which is invoked at each clock tick. _Thread_Tickle_timeslice() is now a method owned by the Deterministic Priority Scheduler and shared by the Simple Priority Scheduler. The Simple SMP Scheduler has its own variation on this which does timeslicing bookkeeping on all cores. * score/src/schedulerprioritytick.c, score/src/schedulersimplesmptick.c: New files. * score/src/threadtickletimeslice.c: Removed.
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulerpriority.h')
-rw-r--r--cpukit/score/include/rtems/score/schedulerpriority.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/schedulerpriority.h b/cpukit/score/include/rtems/score/schedulerpriority.h
index 2cd2353204..2f164b7635 100644
--- a/cpukit/score/include/rtems/score/schedulerpriority.h
+++ b/cpukit/score/include/rtems/score/schedulerpriority.h
@@ -48,7 +48,8 @@ extern "C" {
_Scheduler_priority_Update, /* update entry point */ \
_Scheduler_priority_Enqueue, /* enqueue entry point */ \
_Scheduler_priority_Enqueue_first, /* enqueue_first entry point */ \
- _Scheduler_priority_Extract /* extract entry point */ \
+ _Scheduler_priority_Extract, /* extract entry point */ \
+ _Scheduler_priority_Tick /* tick entry point */ \
}
/**
@@ -171,6 +172,15 @@ void _Scheduler_priority_Extract(
);
/**
+ * @brief Deterministic Priority Scheduler Tick Method
+ *
+ * This routine is invoked as part of processing each clock tick.
+ * It is responsible for determining if the current thread allows
+ * timeslicing and, if so, when its timeslice expires.
+ */
+void _Scheduler_priority_Tick( void );
+
+/**
* This is the major bit map.
*/
extern volatile Priority_bit_map_Control _Priority_Major_bit_map;