aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2010-05-31 12:15:51 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2010-06-01 10:23:16 -0400
commit62c186fde48926a30f4e61332a805430dc1325cd (patch)
tree81605fbd93cb8f12e5997fc5b8d5dcb66067bb83
parent4382e90cf851fc1d209a466bab92e256aeb7acf1 (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.
-rw-r--r--litmus/Kconfig11
-rw-r--r--litmus/Makefile4
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
15config 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
15config RELEASE_MASTER 26config 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
19obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o 18obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o
19obj-$(CONFIG_PLUGIN_PFAIR) += sched_pfair.o
20 20
21obj-$(CONFIG_FEATHER_TRACE) += ft_event.o ftdev.o 21obj-$(CONFIG_FEATHER_TRACE) += ft_event.o ftdev.o
22obj-$(CONFIG_SCHED_TASK_TRACE) += sched_task_trace.o 22obj-$(CONFIG_SCHED_TASK_TRACE) += sched_task_trace.o