aboutsummaryrefslogtreecommitdiffstats
path: root/litmus
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2010-07-12 13:03:42 -0400
committerGlenn Elliott <gelliott@cs.unc.edu>2010-08-03 12:43:46 -0400
commit88fed09b126f1b2e8d85fc834e09b734661b539c (patch)
treecfdde9e4656f0f0316fc2e393edc4bda2b4c2cae /litmus
parent136a08dbe8c28e751b01e932420f715edb229f6b (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/Kconfig8
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
61config 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
61config FMLP 68config 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