aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
Commit message (Collapse)AuthorAge
* Kludge: Add graph e-to-e period in sched_traceGlenn Elliott2014-02-19
| | | | | Kludge the expected graph end-to-end response time into record data to make data analysis easier.
* BUG: Trace IDs don't include ASSIGNEDGlenn Elliott2014-02-19
|
* Add combined PGM_SRC_SINK node type.Glenn Elliott2014-02-19
|
* sched_trace: Trace PGM node type parametersGlenn Elliott2014-02-19
|
* Add C-FL scheduler plugin.Glenn Elliott2014-02-19
| | | | | | This patch adds a C-FL scheduler plugin. Original work by Jeremy Erikson, port to latest Litmus by Namhoon Kim, and cleanup and commit by Glenn Elliott.
* PGM: Boost priority of producers, not consumers.Glenn Elliott2014-02-19
| | | | | | | This patch boosts the priority of PGM producers while they are sending tokens instead of boosting the priority of consumers while they are waiting for tokens. This improves schedulability analysis.
* Tracing for PGM release/deadline adjustment.Glenn Elliott2014-02-19
| | | | | | Patch adds tracing of job release/deadline adjustments of PGM tasks. Tracing is separate from regular job tracing so that we many observe the magnitude of adjustments/slippage.
* PGM release/deadline adjustment.Glenn Elliott2014-02-19
| | | | | | Adds code that adjusts a jobs release and deadline according to when the job receives the necessary PGM tokens.
* Add control page variables for PGM.Glenn Elliott2014-02-19
| | | | | | | | | | | | | Currently, PGM token satisfaction is tracked in userspace. However, Litmus needs to be aware of when a PGM task is waiting for tokens in order to avoid unbounded priority inversions. The state of a PGM task is communicated to Litmus via the control page. We should be able to remove control page variables for PGM if/when token tracking is moved from userspace into the kernel.
* sched_plgn: Add fn. for reporting CPU/cluster mapsGlenn Elliott2014-02-04
| | | | | | This patch adds the plugin interface "get_domain_proc_info()". Plugins use this function to report their cpu/clustering configuration to the user via /proc/litmus/domains and /proc/litmus/cpus.
* /proc/litmus: Export info. on CPU <-> clusterGlenn Elliott2014-02-04
| | | | | | | | | | | | | | | | This patch adds a framework by which plugins can export information about CPU <-> cluster (aka scheduling domain) per cluster. /proc/litmus/domains/<domain#>: This file contains a CPU mask describing the CPUs scheduled/managed by that domain. Files are named by index. For example, the first scheduling domain would be '0'. /proc/litmus/cpus/<cpus#>: This file contains a domain mask describing which domains manage this CPU. Normally, only one bit will be set in this mask, but overlapping clusters can also be expressed by setting multiple bits.
* litmus: Fix build error (implicit declaration of read_current_timer()) on ARMRoy Spliet2013-09-13
| | | | Signed-off-by: Roy Spliet <rspliet@mpi-sws.org>
* Add LITMUS^RT core implementationBjoern Brandenburg2013-08-07
| | | | | | | | | | | | | This patch adds the core of LITMUS^RT: - library functionality (heaps, rt_domain, prioritization, etc.) - budget enforcement logic - job management - system call backends - virtual devices (control page, etc.) - scheduler plugin API (and dummy plugin) This code compiles, but is not yet integrated with the rest of Linux.
* Add tracepoint supportFelipe Cerqueira2013-08-07
| | | | | | | This patch integrates LITMUS^RT's sched_trace_XXX() macros with Linux's notion of tracepoints. This is useful to visualize schedules in kernel shark and similar tools. Historically, LITMUS^RT's sched_trace predates Linux's tracepoint infrastructure.
* Add schedule tracing supportFelipe Cerqueira2013-08-07
| | | | | | This patch introduces the sched_trace infrastructure, which in principle allows tracing the generated schedule. However, this patch does not yet integrate the callbacks with the kernel.
* Feather-Trace: add support for latency tracing/Bjoern Brandenburg2013-08-07
| | | | This patch adds support for tracing release latency in LITMUS^RT.
* Introduce main LITMUS^RT headerBjoern Brandenburg2013-08-07
| | | | | This patch adds a basic litmus/litmus.h, which is required for basic LITMUS^RT infrastructure to compile.
* Extend task_struct with rt_paramBjoern Brandenburg2013-08-07
| | | | This patch adds the PCB extensions required for LITMUS^RT.
* Add TRACE() debug tracing supportBjoern Brandenburg2013-08-07
| | | | This patch adds the infrastructure for the TRACE() debug macro.
* Integrate ft_irq_fired() with LinuxBjoern Brandenburg2013-08-07
| | | | | This patch hooks up Feather-Trace's ft_irq_fired() handler with Linux's interrupt handling infrastructure.
* Feather-Trace: add LITMUS^RT overhead tracing infrastructureBjoern Brandenburg2013-08-07
| | | | | This patch adds the main infrastructure for tracing overheads in LITMUS^RT. It does not yet introduce any tracepoints into the kernel.
* Feather-Trace: add generic ftdev device driverBjoern Brandenburg2013-08-07
| | | | | This patch adds the ftdev device driver, which is used to export samples collected with Feather-Trace to userspace.
* Feather-Trace: add platform independent implementationBjoern Brandenburg2013-08-05
This patch adds the simple fallback implementation and creates dummy hooks in the x86 and ARM Kconfig files.