diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2011-04-09 09:58:34 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2011-04-09 13:41:32 -0400 |
commit | 9caacb13297747118cf178870345cdfcb597aa44 (patch) | |
tree | a5a3376d8b18e48cafb8211f42ec5599d60949e4 /litmus/Kconfig | |
parent | d3f99f11f3440d70658b9d9df756bbd9b63f8058 (diff) |
CONFIG_DONT_PREEMPT_ON_TIE: Don't preeempt a scheduled task on priority tie.wip-performance
Added the compilation option CONFIG_DONT_PREEMPT_ON_TIE. In the event
of a priority tie, a task that is currently scheduled is favored
over one that is not. If both tasks are scheduled (or both are not),
then tie breaks on PID and inheritance still hold.
Configuration option includes a warning that schedulability analysis
that depends upon task-id/PID tie-breaks breaks when
CONFIG_DONT_PREEMPT_ON_TIE is enabled.
Pfair/PD^2 not supported.
Diffstat (limited to 'litmus/Kconfig')
-rw-r--r-- | litmus/Kconfig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index 651b66a77c65..e7376a165be3 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -52,6 +52,19 @@ config CPU_SCHED_BIAS | |||
52 | Only bias towards previously used CPU is currently implemented. In the | 52 | Only bias towards previously used CPU is currently implemented. In the |
53 | future: bias on CPU topology. | 53 | future: bias on CPU topology. |
54 | 54 | ||
55 | config DONT_PREEMPT_ON_TIE | ||
56 | bool "Don't preempt a task on priority tie." | ||
57 | default n | ||
58 | help | ||
59 | Don't preempt a scheduled task to schedule another if the two tasks | ||
60 | have equal priority. Preformance is improved through the reduction | ||
61 | of preemptions. Only tasks with periods that share a common factor | ||
62 | will likely see any gains. | ||
63 | |||
64 | WARNING: Schedulability analysis that depends upon specific | ||
65 | tie-breaking rules, such as tie-break on task-id/PID (the default | ||
66 | LITMUS behavior), may break. | ||
67 | |||
55 | endmenu | 68 | endmenu |
56 | 69 | ||
57 | menu "Real-Time Synchronization" | 70 | menu "Real-Time Synchronization" |