aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* PFAIR: emit sched_trace() eventsBjoern B. Brandenburg2008-11-06
| | | | This is required to visualize the schedule.
* PFAIR: fix debugging macrosBjoern B. Brandenburg2008-11-06
| | | | The arguments were not printed correctly.
* PFAIR: deschedule real-time tasks when they become ineligibleBjoern B. Brandenburg2008-11-06
| | | | | | The reschedule test in scheduler_tick() was missing the case when the CPU has to preempt a real-time task in favor of background work.
* ftdev: don't lose data if task is interruptedBjoern B. Brandenburg2008-11-03
|
* ftdev: don't get stuck in endless loopBjoern B. Brandenburg2008-11-03
| | | | | This bug created unkillable tasks if the first event did not match the event that was being disabled.
* 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: add task system release tracingBjoern B. Brandenburg2008-11-03
|
* sched_trace: use litmus_clock()Bjoern B. Brandenburg2008-10-28
| | | | Using both sched_clock() and litmus_clock() leads to garbled traces.
* PFAIR: fix priority functionJohn M. Calandrino2008-10-15
| | | | | Due to bad ordering of ()-pairs, the priority function was not correct. This should fix it.
* litmus: error out in ENOMEM caseBjoern B. Brandenburg2008-10-06
| | | | If we can't allocate heap nodes then we can't admit RT tasks.
* 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.
* litmus: provide rt task phase access macroBjoern B. Brandenburg2008-10-06
| | | | rationale: uniformity
* ftdev: provide a callback to test whether a device can be openedBjoern B. Brandenburg2008-10-06
| | | | This is useful to deny opening per-cpu buffers if a CPU is not online.
* ftdev: don't forget to disable eventsBjoern B. Brandenburg2008-09-17
| | | | | Otherwise required buffers may not be present anymore. This patch also fixes some minor initialization issues.
* Feather-Trace: use ftdev for overhead tracingBjoern B. Brandenburg2008-09-17
| | | | Much cleaner code now.
* feather-trace: introduce ftdev device driverBjoern B. Brandenburg2008-09-17
| | | | This will help to redruce code duplication in the long run.
* sched_trace: make inclusion optionalBjoern B. Brandenburg2008-09-16
| | | | We don't always need the file in the kernel.
* Merge branch 'master' into sched_traceBjoern B. Brandenburg2008-09-16
|\
| * time: prevent the loop in timespec_add_ns() from being optimised awaySegher Boessenkool2008-09-16
| | | | | | | | | | | | | | | | | | | | Since some architectures don't support __udivdi3(). Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Cc: john stultz <johnstul@us.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | sched_trace: provide new event record definitionsBjoern B. Brandenburg2008-09-16
|/ | | | | Each record is exactly 24 bytes (= three 64bit integers) long. We accept possibly truncated fields in order to save some space.
* 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.
* binomial heaps: reuse heap_node slab for allocationsBjoern B. Brandenburg2008-09-11
| | | | | | | We already have a heap_node slab in litmus.c. We can reuse it for the other allocations. This patch also fixes a misnaming of heap_node_alloc/free.
* Merge branch 'master' into pfair_fixBjoern B. Brandenburg2008-09-11
|\
| * 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).
| * edf_common: allow comparison of two NULL pointersBjoern B. Brandenburg2008-09-11
| | | | | | | | | | | | If the first argument to edf_higher_prio is NULL, then just return 0, since it can't possibly have a higher piority than the second argument.
| * 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
| * this version is more efficient in the case of heavy-contentionBjoern B. Brandenburg2008-09-08
| |
| * replace TTS locks with ticket locksBjoern B. Brandenburg2008-09-05
| |
* | PFAIR: don't crash on weight 1.0 tasksBjoern B. Brandenburg2008-08-25
|/ | | | Avoid division by zero.
* litmus heaps: initialize min to nullBjoern B. Brandenburg2008-07-18
| | | | This fixes a copy&paste bug reported by John.
* PFAIR: Add support for sporad task releases.John Calandrino2008-07-14
|
* make inclusion of SRP support optional2008.1Bjoern B. Brandenburg2008-07-01
| | | | we can disable it to improve performance when it is not needed
* compile without FMLP support if it is disabledBjoern B. Brandenburg2008-07-01
|
* don't include NP-Flag syscalls if config option is not selectedBjoern B. Brandenburg2008-07-01
|
* Add config options to enable and disable the FMLP.Bjoern B. Brandenburg2008-07-01
| | | | NP-Flag support appears to be broken at the moment on SPARC64.
* 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: Increase the trace buffer sizeBjoern B. Brandenburg2008-05-22
| | | | | We probably don't get such a big buffer, but the allocation code scales it down if such a large memory chunk is not available.
* 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
* | Feather-Trace: support draining of trace bufferBjoern B. Brandenburg2008-05-22
| |
* | C-EDF: Update processor state on task exitJohn Calandrino2008-05-22
| |
* | 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.
* Add the C-EDF plugin.John Calandrino2008-05-18
|
* Merge branch 'release_refactor'Bjoern B. Brandenburg2008-05-14
|\