aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
Commit message (Collapse)AuthorAge
* LITMUS^RT core: add generic handler for sporadic job arrivalsBjoern Brandenburg2016-07-20
| | | | | In particular, check if a job arrival is triggered from a clock_nanosleep() call.
* add fields for clock_nanosleep() supportBjoern Brandenburg2016-07-20
| | | | Need to communicate the intended wake-up time to the plugin wake-up handler.
* sched_trace: add sched_trace_last_suspension_as_completion()Bjoern Brandenburg2016-06-23
| | | | New tracepoint for tracing the completion of sporadic jobs.
* LITMUS^RT core: keep track of time of last suspensionBjoern Brandenburg2016-06-23
| | | | | This information is needed to insert ST_COMPLETION records for sporadic tasks.
* Add basic generic reservation-based scheduling infrastructureBjoern Brandenburg2016-03-20
|
* Add reservation configuration types to rt_param.hBjoern Brandenburg2016-03-20
|
* LITMUS^RT syscall: expose sys_reservation_create() via ioctl()Bjoern Brandenburg2016-03-20
|
* Add reservation creation API to plugin interface & syscallsBjoern Brandenburg2016-03-20
|
* LITMUS^RT core: add post-migration validation callbackBjoern Brandenburg2016-03-08
|
* LITMUS^RT core: add next_became_invalid() callbackBjoern Brandenburg2016-03-08
|
* LITMUS^RT core: add should_wait_for_stack() callbackBjoern Brandenburg2016-03-08
| | | | Allow plugins to give up when waiting for a stack to become available.
* FP: add list-based ready queueBjoern Brandenburg2016-03-08
|
* Feather-Trace: Add macros for message-passing timestampsBjoern Brandenburg2016-03-08
| | | | | | | | | Add timestamp tracing macros that reverse on which cores the timestamps are recorded. This intended to reduce tracing contention if some cores receive a lot of messages. These macros are useful for plugins based on message-passing such as the (non-mainline) G-EDF-MP.
* Plugin interface: add fork_task() callbackBjoern Brandenburg2016-03-08
|
* Add void* plugin_state pointer to task_structBjoern Brandenburg2016-03-08
|
* Add new overhead tracing event IDsBjoern Brandenburg2016-03-08
| | | | | | | XCALL_{START,END} -- cross-CPU function calls SEND_XCALL_{START,END} -- cross-CPU function call latency SCHED_TIMER_{START,END} -- any additional, plugin-specific scheduling timer TIMER_LATENCY -- latency of plugin-specific timer
* TRACE(): add TRACE_WARN_ON() helperBjoern Brandenburg2016-03-08
| | | | | Useful to replace BUG_ON() and WARN_ON() with a non-fatal TRACE()-based equivalent.
* Don't preempt before time check in sleep_until_next_release()Bjoern Brandenburg2016-03-08
| | | | Avoid preempting jobs that are about to go to sleep soon anyway.
* Pick non-zero syscall ID start rangeBjoern Brandenburg2016-03-08
| | | | To avoid interfering with Linux's magic reserved IOCTL numbers
* Expose LITMUS^RT system calls via control page ioctl()Bjoern Brandenburg2016-03-08
| | | | | | | Rationale: make LITMUS^RT ops available in a way that does not create merge conflicts each time we rebase LITMUS^RT on top of a new kernel version. This also helps with portability to different architectures, as we no longer need to patch each architecture's syscall table.
* Revamped hrtimer_start_on() supportPratyush Patel2016-02-09
| | | | | | This patch modifies the previous implementation of hrtimer_start_on() by now using smp_call_function_single_async() to arm hrtimers on remote CPU's.
* Add alternate complete_job() default implementationBjoern Brandenburg2015-12-18
| | | | | | | Let jobs sleep like regular Linux tasks by suspending and waking them with a one-shot timer. Plugins can opt into using this implementation instead of the classic complete_job() implementation (or custom implementations).
* Export job release time and job sequence number in ctrl pageBjoern Brandenburg2015-12-16
|
* sched_trace: record exec_time in ST_COMPLETION recordsBjoern Brandenburg2015-12-16
|
* Adds control page deadline offsetGeoffrey2015-12-08
|
* Adds deadline field to control page and updates it when setting up jobs for ↵Geoffrey2015-12-08
| | | | release.
* Fix __NR_syscalls for ARMNamhoon Kim2015-11-10
| | | | | | __NR_syscalls must be a multiple of 4 for ARM. This patch adds padding to __NR_syscalls and fixes the missing NR_litmus_syscalls in include/litmus/unistd_32.h.
* Add x86 syscall defs for get_current_budgetBjoern Brandenburg2015-09-07
|
* LITMUS^RT Core: add get_current_budget() system callBjoern Brandenburg2015-09-07
| | | | | Allow userspace to figure out the used-up and remaining budget of a task.
* Add LITMUS^RT core implementationBjoern Brandenburg2015-08-09
| | | | | | | | | | | | | 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 supportBjoern Brandenburg2015-08-09
| | | | | | | 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 supportBjoern Brandenburg2015-08-09
| | | | | | 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.
* Introduce main LITMUS^RT headerBjoern Brandenburg2015-08-09
| | | | | This patch adds a basic litmus/litmus.h, which is required for basic LITMUS^RT infrastructure to compile.
* Extend task_struct with rt_paramBjoern Brandenburg2015-08-09
| | | | This patch adds the PCB extensions required for LITMUS^RT.
* Add TRACE() debug tracing supportBjoern Brandenburg2015-08-09
| | | | | | | This patch adds the infrastructure for the TRACE() debug macro. Conflicts: kernel/printk.c
* Integrate ft_irq_fired() with LinuxBjoern Brandenburg2015-08-09
| | | | | 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 Brandenburg2015-08-09
| | | | | 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 Brandenburg2015-08-09
| | | | | 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 Brandenburg2015-08-09
This patch adds the simple fallback implementation and creates dummy hooks in the x86 and ARM Kconfig files.