aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_gsn_edf.c
Commit message (Collapse)AuthorAge
* EDF plugins: don't forget to preempt new tasks on release-masterBjoern B. Brandenburg2009-05-04
| | | | | This fixes a bug that lead to task stacks being used s simultaneously on two CPUs.
* GSN-EDF: add release master supportBjoern B. Brandenburg2009-04-29
|
* litmus core: provide central NO_CPU definitionBjoern B. Brandenburg2009-04-22
| | | | this removes a blatant case of copy&paste reuse
* GSN-EDF: remove old and wrong commentBjoern B. Brandenburg2009-04-19
|
* GSN-EDF: trace job releases of tardy tasksBjoern B. Brandenburg2008-11-10
|
* GSN-EDF,CEDF: fix task system releaseBjoern B. Brandenburg2008-11-03
| | | | | Not-yet-released jobs were not properly queued because of an overly complicated and wrong requeue implementation. Found by visualizing sched_traces.
* sched_trace: new implementationBjoern B. Brandenburg2008-10-06
| | | | | This provides and hooks up a new made-from-scratch sched_trace() implementation based on Feather-Trace and ftdev.
* cleanup: fix some sloppiness spotted by JohnBjoern B. Brandenburg2008-09-11
| | | | | This patch fixes some minor issues that inadvertedly crept in during development. Found in John's review.
* GSN-EDF: make the CPU queue a proper heapBjoern B. Brandenburg2008-09-11
| | | | | | This should be faster on high CPU counts. The list-based implementation was O(1) + O(N) for a position update. The heap-based implementation is O(log N) + O(log N).
* rt_domain: make release queue handling more efficientBjoern B. Brandenburg2008-09-11
| | | | | | | | | | | | | | Instead of having hrtimers for each task, we now have only one hrtimer per rt_domain. To-be-released tasks are grouped in mergable heaps and presented as a bunch on each release. This approach should allow us to reduce the worst-case overhead at hyperperiod boundaries significantly. 1) less hrtimer overhead 2) less calls to the active plugin 3) only one CPU handles releases at a time 4) (2) & (3) should bring down lock contention significantly
* compile without FMLP support if it is disabledBjoern B. Brandenburg2008-07-01
|
* GSN/PSN: Update processor state on task exitBjoern B. Brandenburg2008-05-22
| | | | Without this change, a BUG_ON() in schedule() triggers.
* Use binomial heaps as priority queues.Bjoern B. Brandenburg2008-05-19
| | | | | | The list-based priority queues did not perform well on the Niagara T2000. This heap-based implementation should perform much faster when queues are long.
* GSN/PSN: improve lockingBjoern B. Brandenburg2008-05-11
|
* GSN-EDF: log relinking decisionsBjoern B. Brandenburg2008-05-05
| | | | For debugging, make relinking optimizations available in the TRACE() log.
* GSN-EDF: facilitate debuggingBjoern B. Brandenburg2008-05-04
| | | | Make CPU state available to gdb.
* EDF: don't arm timers multiple timesBjoern B. Brandenburg2008-05-04
| | | | Blocking and preemptions must take precedence over forced job completions.
* LITMUS: avoid using the same stack on two CPUs in global schedulersBjoern B. Brandenburg2008-05-04
| | | | | This change fixes a race where a job could be executed on more than one CPU, which to random crashes.
* LITMUS: rework rt_domain to not cause circular lockig dependenciesBjoern B. Brandenburg2008-05-02
|
* GSN-EDF: add extra debug infoBjoern B. Brandenburg2008-05-02
|
* LITMUS: let plugins declare their willingness to allow synchronizationBjoern B. Brandenburg2008-05-01
| | | | | - don't let SRP be active under GSN-EDF - later, don't let FMLP be active under PFAIR, either
* Merge branch 'synch_quanta' into mergeBjoern B. Brandenburg2008-05-01
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: litmus/edf_common.c litmus/sched_gsn_edf.c litmus/sched_psn_edf.c Minor clashes between sched_clock() -> litmus_clock() and jobs.c refactoring merged by hand. The result has been compile-tested.
| * LITMUS CORE: Release jobs with hrtimersJohn M. Calandrino2008-04-30
| | | | | | | | John's proposal for how to release jobs with hrtimers.
* | litmus: move job release functions to common codeBjoern B. Brandenburg2008-04-30
|/
* LITMUS 2008: Initial PortBjoern B. Brandenburg2008-02-13
This introduces the core changes ported from LITMUS 2007. The kernel seems to work under QEMU, but many bugs probably remain.