diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2010-07-12 13:03:42 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2010-08-03 12:43:46 -0400 |
commit | 88fed09b126f1b2e8d85fc834e09b734661b539c (patch) | |
tree | cfdde9e4656f0f0316fc2e393edc4bda2b4c2cae /litmus | |
parent | 136a08dbe8c28e751b01e932420f715edb229f6b (diff) |
Restructure pi_semaphore struct for generic inheritance framework.
First patch in a series to implement a generic priority inheritance
framework that can be used by semaphores that use priority inheritance.
This patch makes pi_semaphore a 'base class' for pi-protocols. pi_semaphore
is updated to include a pi_sem_record field named stack_node. This stack_node
is a linked-list node that a task holding the pi_semaphore instance adds to
their semaphore stack. Note that the task's semaphore stack (or linked-list)
simply chains stack_node's of held semaphores into a single linked-list.
This is safe since there is only one semaphore holder at any given moment.
Finally, FMLP-specific data members out to child class fmlp_semaphore.
Diffstat (limited to 'litmus')
-rw-r--r-- | litmus/Kconfig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index 9888589ef126..e00887e672df 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -58,9 +58,17 @@ config SRP | |||
58 | Say Yes if you want FMLP local long critical section | 58 | Say Yes if you want FMLP local long critical section |
59 | synchronization support. | 59 | synchronization support. |
60 | 60 | ||
61 | config PI_SEMAPHORES | ||
62 | bool "Semaphores with Priority Inheritance" | ||
63 | default n | ||
64 | help | ||
65 | Generalized support for all Litmus priority inheriting semaphore | ||
66 | protocols. | ||
67 | |||
61 | config FMLP | 68 | config FMLP |
62 | bool "FMLP support" | 69 | bool "FMLP support" |
63 | depends on NP_SECTION | 70 | depends on NP_SECTION |
71 | depends on PI_SEMAPHORES | ||
64 | default n | 72 | default n |
65 | help | 73 | help |
66 | Include support for deterministic multiprocessor real-time | 74 | Include support for deterministic multiprocessor real-time |