From 88fed09b126f1b2e8d85fc834e09b734661b539c Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Mon, 12 Jul 2010 13:03:42 -0400 Subject: 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. --- litmus/Kconfig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'litmus') diff --git a/litmus/Kconfig b/litmus/Kconfig index 9888589ef126..e00887e672df 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig @@ -58,9 +58,17 @@ config SRP Say Yes if you want FMLP local long critical section synchronization support. +config PI_SEMAPHORES + bool "Semaphores with Priority Inheritance" + default n + help + Generalized support for all Litmus priority inheriting semaphore + protocols. + config FMLP bool "FMLP support" depends on NP_SECTION + depends on PI_SEMAPHORES default n help Include support for deterministic multiprocessor real-time -- cgit v1.2.2