diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-05-31 12:15:51 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-06-01 10:23:16 -0400 |
commit | 62c186fde48926a30f4e61332a805430dc1325cd (patch) | |
tree | 81605fbd93cb8f12e5997fc5b8d5dcb66067bb83 /litmus | |
parent | 4382e90cf851fc1d209a466bab92e256aeb7acf1 (diff) |
Make PFAIR optional to prevent build and runtime failures.
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.
Diffstat (limited to 'litmus')
-rw-r--r-- | litmus/Kconfig | 11 | ||||
-rw-r--r-- | litmus/Makefile | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index c7cbedd1d83d..1c0a96d54992 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -12,6 +12,17 @@ config PLUGIN_CEDF | |||
12 | On smaller platforms (e.g., ARM PB11MPCore), using C-EDF | 12 | On smaller platforms (e.g., ARM PB11MPCore), using C-EDF |
13 | makes little sense since there aren't any shared caches. | 13 | makes little sense since there aren't any shared caches. |
14 | 14 | ||
15 | config PLUGIN_PFAIR | ||
16 | bool "PFAIR" | ||
17 | depends on HIGH_RES_TIMERS && !NO_HZ | ||
18 | default y | ||
19 | help | ||
20 | Include the PFAIR plugin (i.e., the PD^2 scheduler) in the kernel. | ||
21 | The PFAIR plugin requires high resolution timers (for staggered quanta) | ||
22 | and does not support NO_HZ (quanta could be missed when the system is idle). | ||
23 | |||
24 | If unsure, say Yes. | ||
25 | |||
15 | config RELEASE_MASTER | 26 | config RELEASE_MASTER |
16 | bool "Release-master Support" | 27 | bool "Release-master Support" |
17 | depends on ARCH_HAS_SEND_PULL_TIMERS | 28 | depends on ARCH_HAS_SEND_PULL_TIMERS |
diff --git a/litmus/Makefile b/litmus/Makefile index e581e87213c2..30369787ece2 100644 --- a/litmus/Makefile +++ b/litmus/Makefile | |||
@@ -13,10 +13,10 @@ obj-y = sched_plugin.o litmus.o \ | |||
13 | bheap.o \ | 13 | bheap.o \ |
14 | ctrldev.o \ | 14 | ctrldev.o \ |
15 | sched_gsn_edf.o \ | 15 | sched_gsn_edf.o \ |
16 | sched_psn_edf.o \ | 16 | sched_psn_edf.o |
17 | sched_pfair.o | ||
18 | 17 | ||
19 | obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o | 18 | obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o |
19 | obj-$(CONFIG_PLUGIN_PFAIR) += sched_pfair.o | ||
20 | 20 | ||
21 | obj-$(CONFIG_FEATHER_TRACE) += ft_event.o ftdev.o | 21 | obj-$(CONFIG_FEATHER_TRACE) += ft_event.o ftdev.o |
22 | obj-$(CONFIG_SCHED_TASK_TRACE) += sched_task_trace.o | 22 | obj-$(CONFIG_SCHED_TASK_TRACE) += sched_task_trace.o |