aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* P-FP: fix wrong memset()Bjoern Brandenburg2016-03-08
|
* 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.
* Merge pull request #6 from Mutinifni/masterBjörn Brandenburg2016-03-08
|\ | | | | | | | | Revamped hrtimer_start_on() support Use smp_call_function_single_async() instead of custom IPI.
| * 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.
| * Revert "Add hrtimer_start_on() support"Pratyush Patel2016-02-07
| | | | | | | | This reverts commit 5014e7011964ff46b2d73cf91a05ed9eed5a8fa2.
* | Free before setting NULL to prevent memory leakMahircan Gul2016-02-08
|/
* Fix RCU locking in sys_get_rt_task_param()Bjoern Brandenburg2015-12-18
| | | | | sys_get_rt_task_param() is rarely used and apparently attracted some bitrot.
* 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
|
* ftdev: respect O_NONBLOCK flag in ftdev_read()Bjoern Brandenburg2015-12-16
| | | | Don't block if userspace wants to go on doing something else.
* sched_trace: record exec_time in ST_COMPLETION recordsBjoern Brandenburg2015-12-16
|
* Merge pull request #4 from geoffret/ctrlPageDeadlinesBjörn Brandenburg2015-12-16
|\ | | | | Expose current deadline in control page
| * 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 ARM syscall def for get_current_budgetv2015.1Bjoern Brandenburg2015-09-07
|
* 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 PD^2 scheduler plugin2015.1Bjoern Brandenburg2015-08-09
|
* Add C-EDF scheduler pluginBjoern Brandenburg2015-08-09
|
* Add P-FP scheduler pluginBjoern Brandenburg2015-08-09
|
* Add GSN-EDF scheduler pluginBjoern Brandenburg2015-08-09
|
* Add PSN-EDF scheduler pluginBjoern Brandenburg2015-08-09
|
* Hook into kernel/exit.c to force exiting RT tasks into best-effort modeBjoern Brandenburg2015-08-09
|
* Protect LITMUS^RT tasks from re-nicingBjoern Brandenburg2015-08-09
| | | | | Assigning a nice value to LITMUS^RT tasks is meaningless. Bail out early.
* Don't call set_tsk_need_resched() on remote LITMUS^RT taskBjoern Brandenburg2015-08-09
| | | | This patch fixes a BUG_ON() in litmus/preempt.c.
* Hook into SCHED_DEADLINE to protect LITMUS^RT tasksBjoern Brandenburg2015-08-09
| | | | | SCHED_DEADLINE should not preempt LITMUS^RT tasks, as the LITMUS^RT scheduling class is positioned above the SCHED_DEADLINE policy.
* Hook into rt scheduling class to protect LITMUS^RT tasksBjoern Brandenburg2015-08-09
| | | | | | The rt scheduling class thinks it's the highest-priority scheduling class around, next to SCHED_DEADLINE. It is not in LITMUS^RT. Don't go preempting remote cores that run SCHED_LITMUS tasks.
* Don't trigger load balancer in scheduler tick for LITMUS^RTBjoern Brandenburg2015-08-09
|
* Hook into finish_switch()Bjoern Brandenburg2015-08-09
| | | | To keep track of stack usage and to notify plugin, if necessary.
* Reset SCHED_LITMUS scheduling class on forkBjoern Brandenburg2015-08-09
|
* Block sched_setaffinity() for SCHED_LITMUS tasksBjoern Brandenburg2015-08-09
|
* Integrate LITMUS^RT scheduling class with sched_setschedulerBjoern Brandenburg2015-08-09
|
* Disable cut-to-CFS optimization in Linux schedulerBjoern Brandenburg2015-08-09
| | | | | Global plugins require that the plugin be called even if there currently is no real-time task executing on the local core.
* Integrate LITMUS^RT with try_to_wake_up() pathBjoern Brandenburg2015-08-09
|
* Make LITMUS^RT scheduling class the highest-priority scheduling classBjoern Brandenburg2015-08-09
| | | | | | Needs to be above stop_machine_class for legacy reasons; the main plugins were developed before stop_machine_class was introduced and assume that they are the highest-priority scheduling class.
* Add LITMUS^RT scheduling class in kernel/sched/MakefileBjoern Brandenburg2015-08-09
|
* Introduce LITMUS^RT runqueue dummy into struct rqBjoern Brandenburg2015-08-09
|
* Integrate SRP ceiling blocking callback with Linux schedulerBjoern Brandenburg2015-08-09
| | | | Check whether a suspension is required at end of schedule().
* Hookup sched_trace_XXX() tracing in Linux schedulerBjoern Brandenburg2015-08-09
| | | | This patch adds context switch tracing to the main Linux scheduler.
* Augment rt_task() with is_realtime()Bjoern Brandenburg2015-08-09
| | | | | | | | | | | Whenever the kernel checks for rt_task() to avoid delaying real-time tasks, we want it to also not delay LITMUS^RT tasks. Hence, most calls to rt_task() should be matched by an equivalent call to is_realtime(). Notably, this affects the implementations of select() and nanosleep(), which use timer_slack_ns when setting up timers for non-real-time tasks.
* Hook into fork(), exec(), and exit()Bjoern Brandenburg2015-08-09
| | | | | Allow LITMUS^RT to do some work when a process is created or terminated.
* Call sched_state_task_picked() from pick_next_task_stop()Bjoern Brandenburg2015-08-09
| | | | | Otherwise, the scheduler state machine becomes confused (and goes into a rescheduling loop) when stop-machine is triggered.
* Integrate preemption state machine with Linux schedulerBjoern Brandenburg2015-08-09
| | | | Track when a processor is going to schedule "soon".
* Record LITMUS^RT timestamp in ftrace recordsBjoern Brandenburg2015-08-09
| | | | | Patch updates ftrace.h to record a litmus_clock() time stamp in ftrace records.
* Move trace point definition to litmus/litmus.cBjoern Brandenburg2015-08-09
| | | | | | | | 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 syscalls for x86Bjoern Brandenburg2015-08-09
|
* Add LITMUS^RT syscalls for ARMBjoern Brandenburg2015-08-09
|