From 9bfad8cd519f17cbb26a672868169fcd304d5bd5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 8 Jun 2016 22:22:46 +0200 Subject: score: Add thread priority to scheduler nodes The thread priority is manifest in two independent areas. One area is the user visible thread priority along with a potential thread queue. The other is the scheduler. Currently, a thread priority update via _Thread_Change_priority() first updates the user visble thread priority and the thread queue, then the scheduler is notified if necessary. The priority is passed to the scheduler via a local variable. A generation counter ensures that the scheduler discards out-of-date priorities. This use of a local variable ties the update in these two areas close together. For later enhancements and the OMIP locking protocol implementation we need more flexibility. Add a thread priority information block to Scheduler_Node and synchronize priority value updates via a sequence lock on SMP configurations. Update #2556. --- cpukit/score/include/rtems/score/thread.h | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'cpukit/score/include/rtems/score/thread.h') diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index cde31b48c1..4d498e5f3f 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -362,14 +362,6 @@ typedef struct { */ Priority_Control real_priority; - /** - * @brief Generation of the current priority value. - * - * It is used in _Thread_Change_priority() to serialize the update of - * priority related data structures. - */ - uint32_t priority_generation; - /** * @brief Hints if a priority restore is necessary once the resource count * changes from one to zero. @@ -743,14 +735,6 @@ struct _Thread_Control { */ Priority_Control real_priority; - /** - * @brief Generation of the current priority value. - * - * It is used in _Thread_Change_priority() to serialize the update of - * priority related data structures. - */ - uint32_t priority_generation; - /** * @brief Hints if a priority restore is necessary once the resource count * changes from one to zero. -- cgit v1.2.3