aboutsummaryrefslogtreecommitdiffstats
path: root/litmus
Commit message (Collapse)AuthorAge
* Add C-FL scheduler plugin.Glenn Elliott2013-11-26
| | | | | | 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 Elliott2013-11-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.
* Add PGM support to C-EDF.Glenn Elliott2013-09-27
| | | | Patch adds PGM priority boosting (and un-boosting) to C-EDF.
* Fix: Incorrectly expressed PGM adjustment thresh.Glenn Elliott2013-09-27
| | | | | | | PGM release/deadline adjustment is ignored if the difference between an adjusted time and current time falls below a given threshold. This threshold is supposed to be 200us, but was actually 200ns. This patch resolves this--threshold is now propertly 200us.
* Tracing for PGM release/deadline adjustment.Glenn Elliott2013-09-27
| | | | | | 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 support in GSN-EDF.Glenn Elliott2013-09-27
| | | | | | Patch enables PGM support by GSN-EDF. GSN-EDF boosts the priority of a job waiting for inbound tokens. Likewise, boosting is removed when inbound tokens have been received.
* PGM release/deadline adjustment.Glenn Elliott2013-09-27
| | | | | | Adds code that adjusts a jobs release and deadline according to when the job receives the necessary PGM tokens.
* Add CONFIG_SCHED_PGM to litmus/KconfigGlenn Elliott2013-09-27
| | | | Conditional compilation of PGM features. Off by default.
* Fix litmus_admit_task() error pathBjoern Brandenburg2013-09-13
| | | | Don't try to release slab objects that were never allocated.
* uncachedev: mmap memory that is not cached by CPUs2013.1archived-2013.1Glenn Elliott2013-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch creates a new character device, uncachedev. Pages of RAM allocated by this device are not cached by CPUs. Uses for such pages: 1) Determining *very* pessimistic emperical worst- case execution times. 2) Compare against performance with caches (quantify the avg. case benefit). 3) Deterministic memory accesses (access cannot cause a cache eviction.) 4) Theoretically, increased performance can be achieved by storing infrequently accessed data in uncache pages. uncachedev allocates pages with the pgprot_noncached() page attribute for user applications. Since pages allocated by uncachedev are not locked in memory by default, applications with any access level may mmap pages with uncachedev. Limitations: 1) Uncache pages must be MAP_PRIVATE. 2) Remapping not supported. Usage (user level): int size = NR_PAGES*PAGE_SIZE; int fd = open("/dev/litmus/uncache", O_RDWR); char *data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); <...do stuff...> munmap(data, size);
* Add PD^2 scheduler pluginFelipe Cerqueira2013-08-07
|
* Add C-EDF scheduler pluginFelipe Cerqueira2013-08-07
|
* Add P-FP scheduler pluginFelipe Cerqueira2013-08-07
|
* GSN-EDF: link tasks to local CPU if it is idleBjoern Brandenburg2013-08-07
| | | | | | | If a task is released on a CPU that is idle, then it is pointless to send an IPI to another CPU just to schedule the newly released task. This patch changes check_for_preemptions() to prefer the local CPU first if it is idle.
* Add GSN-EDF scheduler pluginFelipe Cerqueira2013-08-07
|
* Add PSN-EDF scheduler pluginFelipe Cerqueira2013-08-07
|
* Move trace point definition to litmus/litmus.cBjoern Brandenburg2013-08-07
| | | | | | | | If !CONFIG_SCHED_TASK_TRACE, but CONFIG_SCHED_LITMUS_TRACEPOINT, then we still need to define the tracepoint structures. This patch should be integrated with the earlier sched_task_trace.c patches during one of the next major rebasing efforts.
* 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: write interrupt counts to control pageBjoern Brandenburg2013-08-07
| | | | | This patch exports the interrupt counter to userspace via the control page.
* Feather-Trace: add support for latency tracing/Bjoern Brandenburg2013-08-07
| | | | This patch adds support for tracing release latency in LITMUS^RT.
* Feather-Trace: use proper definition of is_realtime()Bjoern Brandenburg2013-08-07
| | | | Remove dummy implementation of is_realtime() in trace.c.
* Add TRACE() debug tracing supportBjoern Brandenburg2013-08-07
| | | | This patch adds the infrastructure for the TRACE() debug macro.
* 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 x86 binary rewriting implementationBjoern Brandenburg2013-08-07
| | | | | This patch adds the x86-specific implementation of Feather-Trace triggers that works by rewriting jump instructions.
* 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.
* Add LITMUS^RT directoryBjoern Brandenburg2013-08-05
Hookup litmus/ with kernel and add extra version.