aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
Commit message (Collapse)AuthorAge
* LITMUS: Add the PFAIR plugin.RTSS08Bjoern B. Brandenburg2008-05-23
| | | | | | | | | | | | | | | | | This adds the PFAIR plugin. The implementation is based on an earlier version developed by John Calandrino. Features: - supports aligned and staggered quanta - supports early releasing - uses mergable heaps to limit overheads This version still has a couple of limitations: - no support for sporadic; all tasks are assumed to be periodic - tasks are limited to a maximum period of 1000 quanta - overload (especially in the tick) is not handled gracefully
* Feather-Trace: make SCHED only depend on nextBjoern B. Brandenburg2008-05-22
|
* Fix task-specific tracing on sparc64Bjoern B. Brandenburg2008-05-22
| | | | | The default implementation contained a bug in a macro. Also, add a cast to silence the compiler.
* record task type in feather trace time stampBjoern B. Brandenburg2008-05-22
|
* Feather-Trace: use fixed size fieldsBjoern B. Brandenburg2008-05-22
|
* Merge branch 'feather-trace'Bjoern B. Brandenburg2008-05-22
|\
| * Refactor Feather-TraceBjoern B. Brandenburg2008-05-19
| | | | | | | | | | - move platform dependent bits into arch/ - provide a default implementation (used for sparc64)
* | Add Feather-Trace support.Bjoern B. Brandenburg2008-05-22
|/ | | | | | | | - TICK - SCHED1 - SCHED2 - RELEASE - CXS
* 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.
* Merge branch 'release_refactor'Bjoern B. Brandenburg2008-05-14
|\
| * introduce release_at callback to LITMUS plugin interfaceBjoern B. Brandenburg2008-05-12
| | | | | | | | | | PFAIR needs to do things a bit differently. This callback will allow plugins to handle synchronous releases differently.
* | add task_rt() macroBjoern B. Brandenburg2008-05-14
|/ | | | Make code more readable and shorter.
* LITMUS: improve coreBjoern B. Brandenburg2008-05-10
| | | | | - give TRACE() messages sequence numbers - remove a some old, unused cruft
* 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: use no_rqlock_work to avoid ksoftirqd deadlockBjoern B. Brandenburg2008-05-02
| | | | | We can't use tasklets from within the scheduler. User no_rqlock_work instead.
* LITMUS: add framework for carrying out jobs after dropping rq locksBjoern B. Brandenburg2008-05-02
| | | | | Many things can't be done from within the scheduler. This framework should make it easer to defer them.
* LITMUS: rework rt_domain to not cause circular lockig dependenciesBjoern B. Brandenburg2008-05-02
|
* Feather-Trace: Make inclusion optionalBjoern2008-05-01
| | | | We need to disable Feather-Trace on the Niagara for now, and there is no reason to always include it, anyway.
* LITMUS: reorganize system callsBjoern B. Brandenburg2008-05-01
| | | | | | - this will make it easier to maintain it across multiple platforms and versions - also remove obsolete SRP system call
* FMLP: rename pi->fmlpBjoern B. Brandenburg2008-05-01
| | | | | pi is confusing, there are many PI schemes in the world. We implement the FMLP, thus we should label it as such.
* SRP: improve robustnessBjoern B. Brandenburg2008-05-01
| | | | | | | | The SRP implementation did not correctly address various suspension-related scenarios correctly. Now the need for SRP blocking is tested on each scheduling event. This ensures mutual exclusion under the SRP even in the face of unexpected suspensions, for example due to IO.
* update SRP implBjoern B. Brandenburg2008-05-01
| | | | This is the first step in cleaning up the SRP implementation.
* 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: synchronous task release APIBjoern B. Brandenburg2008-02-19
|/ | | | | | | | | This adds the internals for two new systems calls: - sys_wait_for_ts_release() - sys_release_ts() The first system call suspends a task until the task systems is released with the second system call.
* 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.