source: rtems/cpukit/score/src/schedulerdefaultreleasejob.c @ 0daa8ab

5
Last change on this file since 0daa8ab was 300f6a48, checked in by Sebastian Huber <sebastian.huber@…>, on 06/22/16 at 15:09:23

score: Rework thread priority management

Add priority nodes which contribute to the overall thread priority.

The actual priority of a thread is now an aggregation of priority nodes.
The thread priority aggregation for the home scheduler instance of a
thread consists of at least one priority node, which is normally the
real priority of the thread. The locking protocols (e.g. priority
ceiling and priority inheritance), rate-monotonic period objects and the
POSIX sporadic server add, change and remove priority nodes.

A thread changes its priority now immediately, e.g. priority changes are
not deferred until the thread releases its last resource.

Replace the _Thread_Change_priority() function with

  • _Thread_Priority_perform_actions(),
  • _Thread_Priority_add(),
  • _Thread_Priority_remove(),
  • _Thread_Priority_change(), and
  • _Thread_Priority_update().

Update #2412.
Update #2556.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/**
2 * @file
3 *
4 * @brief Default Scheduler Release Job Operation
5 *
6 * @ingroup ScoreScheduler
7 */
8
9/*
10 *  Copyright (C) 2011 Petr Benes.
11 *  Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.org/license/LICENSE.
16 */
17
18#if HAVE_CONFIG_H
19#include "config.h"
20#endif
21
22#include <rtems/score/scheduler.h>
23
24void _Scheduler_default_Release_job(
25  const Scheduler_Control *scheduler,
26  Thread_Control          *the_thread,
27  Priority_Node           *priority_node,
28  uint64_t                 deadline,
29  Thread_queue_Context    *queue_context
30)
31{
32  (void) scheduler;
33  (void) the_thread;
34  (void) priority_node;
35  (void) deadline;
36  (void) queue_context;
37}
38
39void _Scheduler_default_Cancel_job(
40  const Scheduler_Control *scheduler,
41  Thread_Control          *the_thread,
42  Priority_Node           *priority_node,
43  Thread_queue_Context    *queue_context
44)
45{
46  (void) scheduler;
47  (void) the_thread;
48  (void) priority_node;
49  (void) queue_context;
50}
Note: See TracBrowser for help on using the repository browser.