aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* TODO: Fix condition checks in replicate_page_move_mapping()wip-shared-libNamhoon Kim2016-09-09
|
* Shared library identificationNamhoon Kim2016-09-09
|
* Initial commit for shared librarywip-shared-memNamhoon Kim2016-08-30
|
* Add system calls for RTSS16Namhoon Kim2016-05-01
|
* Add offset feature in colored_shm dev.Namhoon Kim2016-04-28
|
* Add NP support for MC2Namhoon Kim2016-04-19
|
* Add admission checkNamhoon Kim2016-04-19
|
* Add support for PGM^RTNamhoon Kim2016-04-19
|
* Add colored shared memory deviceNamhoon Kim2016-04-05
|
* Add syscall defs.Namhoon Kim2016-03-31
|
* Add flush arrayNamhoon Kim2016-03-23
|
* MC2 scheduler and partition modulesNamhoon Kim2016-03-23
|
* initialNamhoon Kim2016-03-23
|
* Merge branch 'master' of https://github.com/LITMUS-RT/litmus-rtNamhoon Kim2015-11-10
|\
| * 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.
* | Fix __NR_syscalls for ARMNamhoon Kim2015-11-09
|/ | | | | | __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
|
* 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.