diff options
Diffstat (limited to 'litmus/Kconfig')
-rwxr-xr-x[-rw-r--r--] | litmus/Kconfig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index a32f42898148..16087b9e4e81 100644..100755 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -56,6 +56,26 @@ config REALTIME_AUX_TASKS | |||
56 | priority inversions may occur with respect to single-threaded | 56 | priority inversions may occur with respect to single-threaded |
57 | task models if/when one of threads are scheduled simultanously | 57 | task models if/when one of threads are scheduled simultanously |
58 | with another of the same identity. | 58 | with another of the same identity. |
59 | |||
60 | choice | ||
61 | prompt "Scheduling prioritization of AUX tasks." | ||
62 | default REALTIME_AUX_TASK_PRIORITY_BOOSTED | ||
63 | help | ||
64 | Select the prioritization method for auxillary tasks. | ||
65 | |||
66 | config REALTIME_AUX_TASK_PRIORITY_BOOSTED | ||
67 | bool "Boosted" | ||
68 | help | ||
69 | Run all auxillary task threads at a maximum priority. Useful for | ||
70 | temporarily working around bugs during development. | ||
71 | |||
72 | config REALTIME_AUX_TASK_PRIORITY_INHERITANCE | ||
73 | bool "Inheritance" | ||
74 | help | ||
75 | Auxillary tasks inherit the maximum priority from blocked real-time | ||
76 | threads within the same process. | ||
77 | |||
78 | Additional pitfall: | ||
59 | 3) Busy-wait deadlock is likely between normal real-time tasks and | 79 | 3) Busy-wait deadlock is likely between normal real-time tasks and |
60 | auxillary tasks synchronize using _preemptive_ spinlocks that do | 80 | auxillary tasks synchronize using _preemptive_ spinlocks that do |
61 | not use priority inheritance. | 81 | not use priority inheritance. |
@@ -73,9 +93,11 @@ config REALTIME_AUX_TASKS | |||
73 | holder that blocks the rt task CAN block on I/O and contribute its priority | 93 | holder that blocks the rt task CAN block on I/O and contribute its priority |
74 | to the aux tasks. Aux tasks may still _indirectly_ inherit the priority of | 94 | to the aux tasks. Aux tasks may still _indirectly_ inherit the priority of |
75 | the blocked rt task via the lock holder. | 95 | the blocked rt task via the lock holder. |
96 | endchoice | ||
76 | 97 | ||
77 | endmenu | 98 | endmenu |
78 | 99 | ||
100 | |||
79 | menu "Real-Time Synchronization" | 101 | menu "Real-Time Synchronization" |
80 | 102 | ||
81 | config NP_SECTION | 103 | config NP_SECTION |