aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/Makefile
Commit message (Collapse)AuthorAge
* Refactor timer merging and add it to CE plugin.Christopher Kenna2011-09-30
| | | | | | | | | | | | | | | | THIS CODE IS UNTESTED We now initialize one event group for each cpu on system start. We can get the event group for a CPU via a function in event_group.c Another change is that an event now stores what group it is in when it add_event() is called on it. This lets us cancel it without knowing what event group it is in. The above is important because Level-C events (like releases) have a NULL event group. When calling add_event(), it will get the event group of the current CPU. If the event needs to be canceled later, we need that saved group in the event so we know where to remove it from.
* Timer mergingJonathan Herman2011-09-27
|
* Check point commit for merging CE with MC plugin.Christopher Kenna2011-09-24
| | | | | Also started to fix typos in Jonathan's code, but there were too many after I realized that event_group.o was not in the LITMUS Makefile.
* Partial cyclic executive plugin.Christopher Kenna2011-09-05
| | | | | This is not tested and missing everything for /proc. I just am checking it in so that it the code is backed up in a git repository.
* created generic domain interface for tasksJonathan Herman2011-08-29
|
* Refactor the mixed-criticality (MC) plugin.Christopher Kenna2011-08-27
| | | | | | | | | | | | | | | | | | | | | Add linux kernel configuration option CONFIG_LITMUS_MC. Attempt to restore rt_param.h to its original state as much as possible. Remove fields from rt_task and rt_job and move them into a new mc_data struct. Added mc_data field to rt_param compiled in only if using MC plugin. Make a new MC plugin specific header that contains a mc_data struct, which is a container for mc_task struct and a mc_job struct. Update sched_mc.c to use the new data structures. Also, add some macros that simplify the code, e.g., getting task criticality quickly. Add system call to set MC plugin specific stuff. Check for the change in liblitmus. Add a few lines to exit_litmus to reclaim the MC plugin mc_data struct in the task_struct on task exit.
* sched_mc: implementation (minus slack stealing)Jeremy Erickson2011-08-25
| | | | | | Mixed criticality implementation, not including slack stealing. In addition, Level A is still P-EDF instead of cyclic executive.
* Litmus core: add generic clustering supportBjoern B. Brandenburg2011-02-01
| | | | | Inspired by the existing C-EDF code, this generic version will build clusters of CPUs based on a given cache level.
* FMLP: remove old implementationBjoern B. Brandenburg2011-02-01
|
* Litmus core: add generic locking APIBjoern B. Brandenburg2011-02-01
| | | | | Provide a unified userspace interface for plugin-specific locking protocols.
* Implement proper remote preemption supportBjoern B. Brandenburg2010-11-11
| | | | | | | | | | | | To date, Litmus has just hooked into the smp_send_reschedule() IPI handler and marked tasks as having to reschedule to implement remote preemptions. This was never particularly clean, but so far we got away with it. However, changes in the underlying Linux, and peculartities of the ARM code (interrupts enabled before context switch) break this naive approach. This patch introduces new state-machine based remote preemption support. By examining the local state before calling set_tsk_need_resched(), we avoid confusing the underlying Linux scheduler. Further, this patch avoids sending unncessary IPIs.
* Litmus core: refactor the implementation of /procChristopher Kenna2010-10-23
|
* Litmus core: add plugin-independent precise budget enforcement infrastructureBjoern B. Brandenburg2010-10-19
| | | | | | | Simple logic: if a task requires precise enforcement, then program a hr-timer to fire when the task must be descheduled. When the timer fires, simply activate the scheduler. When we switch to a different task, either reprogram the timer or cancel it.
* Make PFAIR optional to prevent build and runtime failures.Bjoern B. Brandenburg2010-06-01
| | | | | | | | | | | | | | The PFAIR plugin always implicitly assumed !NO_HZ (the schedule is wrong if NO_HZ is enabled) and does not built if hrtimers are absent: > litmus/built-in.o: In function `pfair_activate_plugin': > sched_pfair.c:(.text+0x7f07): undefined reference to `cpu_stagger_offset' > litmus/built-in.o: In function `init_pfair': > sched_pfair.c:(.init.text+0x487): undefined reference to `cpu_stagger_offset' cpu_stagger_offset() is only available if hrtimers are enabled. This patch makes these dependencies explicit.
* Make compilation of C-EDF optional.Bjoern B. Brandenburg2010-05-30
| | | | | | C-EDF only makes sense on multicore platforms that have shared caches. Make it possible to disable it on other platforms, in particular, on those that do not export get_shared_cpu_map().
* Add C-EDF Plugin2010.1Andrea Bastoni2010-05-29
| | | | | | Improved C-EDF plugin. C-EDF now supports different cluster sizes (based on L2 and L3 cache sharing) and supports dynamic changes of cluster size (this requires reloading the plugin).
* Add virtual LITMUS^RT control device.Bjoern B. Brandenburg2010-05-29
| | | | | | | | | This device only supports mmap()'ing a single page. This page is shared RW between the kernel and userspace. It is inteded to allow near-zero-overhead communication between the kernel and userspace. It's first use will be a proper implementation of user-signaled non-preemptable section support.
* [ported from 2008.3] Add PSN-EDF PluginAndrea Bastoni2010-05-29
|
* [ported from 2008.3] Add PFAIR pluginAndrea Bastoni2010-05-29
|
* Refactor binomial heap names: heap -> bheapAndrea Bastoni2010-05-29
| | | | | | - Binomial heap "heap" names conflicted with priority heap of cgroup in kernel - This patch change binomial heap "heap" names in "bheap"
* [ported from 2008.3] Add GSN-EDF pluginAndrea Bastoni2010-05-29
| | | | | | - insert arm_release_timer() in add_relese() path - arm_release_timer() uses __hrtimer_start_range_ns() instead of hrtimer_start() to avoid deadlock on rq->lock.
* [ported from 2008.3] Add FMLP supportAndrea Bastoni2010-05-29
|
* [ported from 2008.3] Add Stack Resource Policy (SRP) supportAndrea Bastoni2010-05-29
|
* [ported from 2008.3] Add File Descriptor Attached Shared Objects (FDSO) ↵Andrea Bastoni2010-05-29
| | | | infrastructure
* [ported from 2008.3] Add common EDF functionsAndrea Bastoni2010-05-29
|
* [ported from 2008.3] Add rt_domain_t supportAndrea Bastoni2010-05-29
| | | | | Still to be merged: - arm_release_timer() with no rq locking
* [ported from 2008.3] Add synchronous task release APIAndrea Bastoni2010-05-29
|
* [ported from 2008.3] Core LITMUS^RT infrastructureAndrea Bastoni2010-05-29
Port 2008.3 Core LITMUS^RT infrastructure to Linux 2.6.32 litmus_sched_class implements 4 new methods: - prio_changed: void - switched_to: void - get_rr_interval: return infinity (i.e., 0) - select_task_rq: return current cpu