summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/scheduleredfreleasejob.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-06-29score: Add SMP EDF schedulerSebastian Huber1-0/+16
Update #3056.
2016-09-21score: Rework thread priority managementSebastian Huber1-56/+28
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.
2016-09-08score: Introduce _Thread_Get_priority()Sebastian Huber1-2/+2
Avoid direct access to thread internal data fields.
2016-08-04score: Fix a release/cancel job race conditionSebastian Huber1-4/+4
Split up the potential thread priority change in the scheduler release/cancel job operation. Protect the rate monotonic period state with a dedicated SMP lock. This avoids a race condition during _Rate_monotonic_Timeout() while _Rate_monotonic_Cancel() is called on another processor.
2016-08-04score: Fix _Scheduler_EDF_Cancel_job_filter()Sebastian Huber1-1/+1
Commit 21bdca49eea9213cc31a497072d01192eed8675e accidentally used a function which may be added later.
2016-08-04score: Indroduce cancel job scheduler operationSebastian Huber1-7/+39
Do not use a deadline value of zero to indicate a job cancellation. Use a dedicated scheduler operation for this.
2016-06-22score: Rework EDF schedulerSebastian Huber1-18/+34
Use inline red-black tree insert. Do not use shifting priorities since this is not supported by the thread queues. Due to the 32-bit Priority_Control this currently limits the uptime to 49days with a 1ms clock tick. Update #2173.
2016-06-22score: Modify release job scheduler operationSebastian Huber1-3/+2
Pass the deadline in watchdog ticks to the scheduler. Update #2173.
2015-05-19score: Rework _Thread_Change_priority()Sebastian Huber1-2/+2
Move the writes to Thread_Control::current_priority and Thread_Control::real_priority into _Thread_Change_priority() under the protection of the thread lock. Add a filter function to _Thread_Change_priority() to enable specialized variants. Avoid race conditions during a thread priority restore with the new Thread_Control::priority_restore_hint for an important average case optimizations used by priority inheritance mutexes. Update #2273.
2014-04-15score: Static scheduler configurationSebastian Huber1-3/+3
Do not allocate the scheduler control structures from the workspace. This is a preparation step for configuration of clustered/partitioned schedulers on SMP.
2014-04-04score: Add scheduler control to scheduler opsSebastian Huber1-0/+3
Scheduler operations must be free of a global scheduler context to enable partitioned/clustered scheduling.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-07-26score: Create thread implementation headerSebastian Huber1-3/+1
Move implementation specific parts of thread.h and thread.inl into new header file threadimpl.h. The thread.h contains now only the application visible API. Remove superfluous header file includes from various files.
2013-07-22score: Create watchdog implementation headerSebastian Huber1-0/+1
Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API.
2012-11-29Score misc: Clean up Doxygen #8 (GCI 2012)Mathew Kallada1-0/+7
This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7970221
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2011-09-112011-09-11 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill1-0/+40
PR 1896/cpukit * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Earliest Deadline First (EDF) Scheduling Algorithm implementation. * 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: New files.