aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* re-organize getters2008.3Bjoern B. Brandenburg2009-09-16
| | | | Stick get_release() to the rest of the bunch.
* remove concurrent heap from mainlineBjoern B. Brandenburg2009-09-10
|
* cleanup trailing whitespaceBjoern B. Brandenburg2009-09-10
|
* Remove non-mainline G-EDF pluginsBjoern B. Brandenburg2009-09-10
| | | | | This removes the plugins created for RTSS'09 that we don't want to track in mainline Linux.
* x86 setup: fix constraints in segment accessor functionsH. Peter Anvin2009-09-10
| | | | | | | | | | Fix the operand constraints for the segment accessor functions, {rd,wr}{fs,gs}*. In particular, the 8-bit functions used "r" constraints instead of "q" constraints. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* 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.
* litmus core: cleanupBjoern B. Brandenburg2009-05-04
| | | | Line breaks, ammend comments, etc.
* G-EDF: always mark scheduled tasks as being so (bugfix)Bjoern B. Brandenburg2009-05-04
| | | | | | If schedule() was invoked twice in a retry, then the scheduled task might have not been "picked" properly because it was still scheduled.
* rt domain: remove unused debugging codeBjoern B. Brandenburg2009-05-04
|
* rt domain: evil hack to avoid recursive hrtimer lock acquisitionBjoern B. Brandenburg2009-05-04
| | | | | | | | This is a really dirty hack, but works for now since our real-time tasks do not use hrtimer_wakeup(). The need for this will go away when we port since newer versions of the Linux kernel allow timers to be activated directly in the scheduler.
* Merge branch 'master' of ↵Bjoern B. Brandenburg2009-05-03
|\ | | | | | | ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/papers/RTSS09/litmus2008 into rtss09
| * GQ-EDF: remove link completely (bugfix)Bjoern B. Brandenburg2009-05-03
| | | | | | | | Fixes fa940ad71184dec3d156b7dd673ee38067e7c0f6.
* | rt domain: fix rare deadlock between timer base lock and release lockBjoern B. Brandenburg2009-05-03
|/ | | | | | If a timer happens to go off at the wrong time on the wrong CPU, the old code could deadlock. This avoided in the new version by dropping the release_lock before using the hrtimer API.
* GQ-EDF: don't blindly overwrite entry->linked (bugfix)Bjoern B. Brandenburg2009-05-03
| | | | | Check if an already-linked task must be re-inserted into the ready queue.
* rt domain: make sure release heap is not in use before re-initBjoern B. Brandenburg2009-05-03
| | | | | | | | This fixes a bug observed under G-EDF: A task with extremely low wcet budget could get scheduled and re-added to its own release heap while the heap was still in use in the same timer callback that released the task. Havoc, predictably, ensued.
* hrtimer: remove unused flag of pull implementationBjoern B. Brandenburg2009-05-03
| | | | The flag was racy anyway and could not be used safely.
* rt domain: avoid use-after-free and re-init-while-in-use bugsBjoern B. Brandenburg2009-05-03
| | | | | | Don't just blindly overwrite the timers if they could be still in use. The the use-after-free bug was observed under Qemu.
* GQ-EDF: don't put running tasks in to released queue (bugfix)Bjoern B. Brandenburg2009-05-02
|
* litmus core: report ready tasks to user spaceBjoern B. Brandenburg2009-05-02
|
* fix layout of Litmus config menuBjoern B. Brandenburg2009-05-02
|
* litmus core: add dump-trace-buffer magic sysrqBjoern B. Brandenburg2009-05-02
| | | | Pump stuff from the TRACE() buffer to printk() on demand.
* rt domain: don't arm the same release heap timer twice (bugfix)Bjoern B. Brandenburg2009-05-02
| | | | | If the timeout was realy close and the timing unfortunate, the timer callback got invoked twice, with oopsing consequences.
* litmus core: un-inline binomial heap implementationBjoern B. Brandenburg2009-05-02
| | | | | | Those functions are pretty huge, and used in a couple of plugins. This should save a lot of space, make debugging with objdump much easier, and maybe it even has some I$ benefit.
* litmus core: fix sysrq registrationBjoern B. Brandenburg2009-05-02
| | | | The letter 'q' is already taken in 2.6.24.
* GSN-EDF: add release master supportBjoern B. Brandenburg2009-04-29
|
* release master support: fix new job codeBjoern B. Brandenburg2009-04-29
|
* trace IPI latency on sparc64Bjoern B. Brandenburg2009-04-28
|
* trace IPI latency on x86Bjoern B. Brandenburg2009-04-28
|
* add support for tracing IPI latencyBjoern B. Brandenburg2009-04-28
|
* GHQ-EDF: first shot at hierarchical queues implementationBjoern B. Brandenburg2009-04-27
| | | | seems to run in QEMU
* GQ-EDF: release master support.Bjoern B. Brandenburg2009-04-24
| | | | Basically same as G-EDF.
* G-EDF: release master support bugfixBjoern B. Brandenburg2009-04-24
| | | | Don't relink to release master.
* litmus config: make itpossible to compile without overhead tracingBjoern B. Brandenburg2009-04-24
| | | | Factor out ftdev support from overhead tracing.
* sched trace: fix prototypeBjoern B. Brandenburg2009-04-24
| | | | Removes a compile warning on sparc64.
* sparc64: provide smp_send_pull_timers() implementationBjoern B. Brandenburg2009-04-23
|
* G-EDF: make use of release_master interfaceBjoern B. Brandenburg2009-04-23
| | | | | | The current release_master setting is copied when activating the plugin. Changing it during execution is currently not supported.
* edf common: fix debugging outputBjoern B. Brandenburg2009-04-23
|
* litmus proc: add release_master interfaceBjoern B. Brandenburg2009-04-23
| | | | | Let user space set which CPU should handle releases. It is up to plugins to make use of this information.
* fixup commit: missing rtdomain piecesBjoern B. Brandenburg2009-04-23
|
* litmus tracing: expose scheduling overheadBjoern B. Brandenburg2009-04-22
| | | | | move the switch_from/switch_to trace macros so that the scheduling overhead shows up more clearly in the traces
* rt domain: add support for release masterBjoern B. Brandenburg2009-04-22
| | | | | A release master is a CPU that takes all timer interrupts for release of a given rt_domain_t. By default off.
* litmus core: reduce lenth of interrups off in tick_no_rqlock()Bjoern B. Brandenburg2009-04-22
| | | | this was never strictly required, so we might as well avoid it
* fixup commit: missing hrtimer bitsBjoern B. Brandenburg2009-04-22
|
* litmus core: provide central NO_CPU definitionBjoern B. Brandenburg2009-04-22
| | | | this removes a blatant case of copy&paste reuse
* x86-32: add support for smp_send_pull_timers()Bjoern B. Brandenburg2009-04-22
| | | | | This establishes the architectures dependent bits for hrtimer_start_on() on x86-32.
* hrtimer: add support for starting timers on remote CPUsBjoern B. Brandenburg2009-04-22
| | | | | This depends on the ability to send the special 'pull_timers' IPI even with IRQs disabled.
* G-EDF: compiles & runs in QEMUBjoern B. Brandenburg2009-04-19
|
* litmus core: trace task state on wake ups of RT tasks.Bjoern B. Brandenburg2009-04-19
| | | | Helps when debugging wake-up related crashes.
* concurrent heap: disable lockdepBjoern B. Brandenburg2009-04-19
| | | | | | Lockdep doesn't like the heap's locking pattern. We'd have to allocate a locking class for each cheap_node, which is a bit excessive memory-wise.
* GQ-EDF: avoid compile warning w/ CONFIG_SCHED_DEBUG_TRACEBjoern B. Brandenburg2009-04-19
| | | | Variable declarations go first.