aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/Kconfig
Commit message (Collapse)AuthorAge
* Restructure pi_semaphore struct for generic inheritance framework.Glenn Elliott2010-08-03
| | | | | | | | | | | | | | First patch in a series to implement a generic priority inheritance framework that can be used by semaphores that use priority inheritance. This patch makes pi_semaphore a 'base class' for pi-protocols. pi_semaphore is updated to include a pi_sem_record field named stack_node. This stack_node is a linked-list node that a task holding the pi_semaphore instance adds to their semaphore stack. Note that the task's semaphore stack (or linked-list) simply chains stack_node's of held semaphores into a single linked-list. This is safe since there is only one semaphore holder at any given moment. Finally, FMLP-specific data members out to child class fmlp_semaphore.
* Bugfix: avoid link error in Feather-Trace on x86Bjoern B. Brandenburg2010-07-16
| | | | | | | | | | | | | | | | | | | If no events are defined but Feater-Trace support is enabled, then the current implementation generates a link error because the __event_table sections is absent. > arch/x86/built-in.o: In function `ft_disable_all_events': > (.text+0x242af): undefined reference to `__start___event_table' As a simple work around, we force zero-element array to always be "allocated" in the __event_table section. This ensures that we end up with a zero-byte section if no events are enabled, and does not affect the layout of the section if events are present. > bbb@ludwig:~/dev/litmus2010$ nm vmlinux | grep event_table > ffffffff81950cdc D __event_table_dummy > ffffffff81950cdc A __start___event_table > ffffffff81950cdc A __stop___event_table
* Make platform-specific Feather-Trace depend on !CONFIG_DEBUG_RODATABjoern B. Brandenburg2010-06-01
| | | | | | | | | | | Feather-Trace rewrites instructions in the kernel's .text segment. This segment may be write-protected if CONFIG_DEBUG_RODATA is selected. In this case, fall back to the default flag-based Feather-Trace implementation. In the future, we could either adopt the ftrace method of rewriting .text addresses using non-.text mappings or we could consider replacing Feather-Trace with ftrace altogether. For now, this patch avoids unexpected runtime errors.
* 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 C-EDF depend on x86 and SYSFSAndrea Bastoni2010-06-01
| | | | | | C-EDF depends on intel_cacheinfo.c (for get_shared_cpu_map()) which is only available on x86 architectures. Furthermore, get_shared_cpu_map() is only available if SYSFS filesystem is present.
* Make smp_send_pull_timers() optional.Bjoern B. Brandenburg2010-06-01
| | | | | There is currently no need to implement this in ARM. So let's make it optional instead.
* Make release master support optionalBjoern B. Brandenburg2010-06-01
| | | | | | | | Introduces CONFIG_RELEASE_MASTER and makes release master support dependent on the new symbol. This is useful because dedicated interrupt handling only applies to "large" multicore platforms. This will allow us to not implement smp_send_pull_timers() for all platforms.
* 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().
* Re-implement non-preemptive section support.Bjoern B. Brandenburg2010-05-29
| | | | | | | | | | | | Re-introduce NP sections in the configuration and in litmus.h. Remove the old np_flag from rt_param. If CONFIG_NP_SECTION is disabled, then all non-preemptive section checks are constant expressions which should get removed by the dead code elimination during optimization. Instead of re-implementing sys_exit_np(), we simply repurposed sched_yield() for calling into the scheduler to trigger delayed preemptions.
* [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] 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