From 62c186fde48926a30f4e61332a805430dc1325cd Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Mon, 31 May 2010 12:15:51 -0400 Subject: 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. --- litmus/Kconfig | 11 +++++++++++ litmus/Makefile | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'litmus') 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 On smaller platforms (e.g., ARM PB11MPCore), using C-EDF makes little sense since there aren't any shared caches. +config PLUGIN_PFAIR + bool "PFAIR" + depends on HIGH_RES_TIMERS && !NO_HZ + default y + help + Include the PFAIR plugin (i.e., the PD^2 scheduler) in the kernel. + The PFAIR plugin requires high resolution timers (for staggered quanta) + and does not support NO_HZ (quanta could be missed when the system is idle). + + If unsure, say Yes. + config RELEASE_MASTER bool "Release-master Support" 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 \ bheap.o \ ctrldev.o \ sched_gsn_edf.o \ - sched_psn_edf.o \ - sched_pfair.o + sched_psn_edf.o obj-$(CONFIG_PLUGIN_CEDF) += sched_cedf.o +obj-$(CONFIG_PLUGIN_PFAIR) += sched_pfair.o obj-$(CONFIG_FEATHER_TRACE) += ft_event.o ftdev.o obj-$(CONFIG_SCHED_TASK_TRACE) += sched_task_trace.o -- cgit v1.2.2