From bd861cc6e02ec077e7f93b247169cd519a042016 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 9 Nov 2009 14:36:14 +0000 Subject: 2009-11-09 Joel Sherrill * ada_user/Makefile.am, ada_user/ada_user.texi, user/Makefile.am, user/c_user.texi, user/concepts.t, user/overview.t, user/preface.texi, user/schedule.t, user/sem.t: Add table of figures. Add text and graphic of tree illustrating valid combinations of semaphore attributes. * user/semaphore_attributes.eps, user/semaphore_attributes.png: New files. --- doc/user/sem.t | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) (limited to 'doc/user/sem.t') diff --git a/doc/user/sem.t b/doc/user/sem.t index f85056e28d..be0532fa50 100644 --- a/doc/user/sem.t +++ b/doc/user/sem.t @@ -232,6 +232,35 @@ default for all created tasks. If a similar semaphore were to be known globally, then the attribute_set parameter would be @code{@value{RPREFIX}GLOBAL @value{OR} @value{RPREFIX}PRIORITY}. +Some combinatinos of these attributes are invalid. For example, priority +ordered blocking discipline must be applied to a binary semaphore in order +to use either the priority inheritance or priority ceiling functionality. +The following tree figure illustrates the valid combinations. + +@float Figure,fig:semaphore-attributes +@caption{Valid Semaphore Attributes Combinations} + +@ifset use-ascii +@example +@group +Not available in ASCII representation +@end group +@end example +@end ifset + +@ifset use-tex +@example +@image{semaphore_attributes,5in,3.5in} +@end example +@end ifset + +@ifset use-html +@html +Valid Semaphore Attribute Combinations +@end html +@end ifset +@end float + @subsection Building a SEMAPHORE_OBTAIN Option Set In general, an option is built by a bitwise OR of the @@ -468,9 +497,9 @@ inheritance (default) @item @code{@value{RPREFIX}NO_PRIORITY_CEILING} - do not use priority ceiling (default) -@item @code{@value{RPREFIX}LOCAL} - local task (default) +@item @code{@value{RPREFIX}LOCAL} - local semaphore (default) -@item @code{@value{RPREFIX}GLOBAL} - global task +@item @code{@value{RPREFIX}GLOBAL} - global semaphore @end itemize Semaphores should not be made global unless remote @@ -480,9 +509,11 @@ semaphore. When a global semaphore is created, the semaphore's name and id must be transmitted to every node in the system for insertion in the local copy of the global object table. -The total number of global objects, including -semaphores, is limited by the maximum_global_objects field in -the Configuration Table. +Note that some combinations of attributes are not valid. See the +earlier discussion on this. + +The total number of global objects, including semaphores, is limited by +the maximum_global_objects field in the Configuration Table. @c @c -- cgit v1.2.3