Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#1896 closed defect (fixed)

EDF scheduler implementation

Reported by: Petr Benes Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: score Version: 4.11
Severity: normal Keywords:
Cc: sebastian.huber@…, gedare@…, marta.rybczynska@… Blocked By:
Blocking:

Description

This EDF scheduler is built with red-black tree as a single ready queue. Each ready task may be handled in two ways, but all share only one ready queue.

First way, as a background task with a priority assigned when creating the task. Each background task has lower priority than arbitrary deadline driven task.

Or, as a deadline driven task. A task becomes deadline driven as soon as it declares a deadline (equal to period) using the Rate Monotonic manager. If the deadline (period) is cancelled or deleted, the task becomes a background task again.

2011-08-11 Petr Benes <benesp16@…>

  • sapi/include/confdefs.h, score/Makefile.am,

score/include/rtems/score/scheduleredf.h, score/src/scheduleredf.c,
score/src/scheduleredfallocate.c, score/src/scheduleredfblock.c,
score/src/scheduleredfenqueue.c, score/src/scheduleredfenqueuefirst.c,
score/src/scheduleredfextract.c, score/src/scheduleredffree.c,
score/src/scheduleredfprioritycompare.c, score/src/scheduleredfreleasejob.c,
score/src/scheduleredfschedule.c, score/src/scheduleredfunblock.c,
score/src/scheduleredfupdate.c, score/src/scheduleredfyield.c: EDF scheduler implementation

Attachments (3)

edf_scheduler2.diff (26.4 KB) - added by Petr Benes on 08/11/11 at 13:58:55.
EDF scheduler implementation
edf_scheduler5.diff (26.6 KB) - added by Petr Benes on 09/02/11 at 08:26:16.
EDF scheduler implementation - version 2
edf_scheduler6.diff (26.6 KB) - added by Petr Benes on 09/11/11 at 18:38:35.
EDF scheduler implementation - version 3

Download all attachments as: .zip

Change History (12)

Changed on 08/11/11 at 13:58:55 by Petr Benes

Attachment: edf_scheduler2.diff added

EDF scheduler implementation

comment:1 Changed on 08/11/11 at 14:19:12 by Petr Benes

blocked: 1897

comment:2 Changed on 08/29/11 at 20:45:34 by Marta Rybczynska

Cc: Marta Rybczynska added

comment:3 Changed on 08/30/11 at 06:07:38 by Sebastian Huber

Cc: Sebastian Huber added

comment:4 Changed on 09/01/11 at 20:24:08 by Petr Benes

blocked: 1906

Changed on 09/02/11 at 08:26:16 by Petr Benes

Attachment: edf_scheduler5.diff added

EDF scheduler implementation - version 2

comment:5 Changed on 09/02/11 at 08:26:16 by Petr Benes

attachments.isobsolete: 01

comment:6 Changed on 09/10/11 at 14:22:36 by Gedare Bloom

blocked: 1726

Changed on 09/11/11 at 18:38:35 by Petr Benes

Attachment: edf_scheduler6.diff added

EDF scheduler implementation - version 3

comment:7 Changed on 09/11/11 at 18:38:35 by Petr Benes

attachments.isobsolete: 01

comment:8 Changed on 09/22/11 at 10:26:51 by Joel Sherrill

Resolution: fixed
Status: newclosed

Closing

comment:9 Changed on 11/24/14 at 18:58:28 by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Note: See TracTickets for help on using tickets.