[cgl_discussion] Project Review: POSIX Semaphores

Gustafson, Geoffrey R geoffrey.r.gustafson at intel.com
Thu Sep 12 12:53:32 PDT 2002

[Sorry if this is a duplicate -- the OSDL server bounced it back at me.]

Validation tested the NGPT implementation and found a couple bugs that were
not present in the posix1b implementation. We will continue to evaluate the
alternatives, and could drop this particular implementation if we're happy
with NGPT's implementation.

The overlap would cause linking problems and might mean the library cannot
be used at the same time as NGPT, but then if the NGPT semaphore
implementation is mostly good enough this may not be a real problem.

Again, we merely integrated the open source project recommended by HP, so
we're starting from scratch in terms of validation and development


-----Original Message-----
From: Howell, David P 
Sent: Thursday, September 12, 2002 9:49 AM
To: Gustafson, Geoffrey R
Cc: 'cgl_discussion at osdl.org'; 'Khalid Aziz'
Subject: RE: [cgl_discussion] Project Review: POSIX Semaphores

My only concern here would be for overlap with the POSIX semaphore 
pthreads APIs that are provided by NGPT and Linuxthreads. Is there 
overlap for these APIs? If so we may have some issues to resolve.

Dave Howell

-----Original Message-----
From: Gustafson, Geoffrey R [mailto:geoffrey.r.gustafson at intel.com]
Sent: Thursday, September 12, 2002 12:27 PM
To: 'cgl_discussion at osdl.org'
Cc: 'Khalid Aziz'
Subject: [cgl_discussion] Project Review: POSIX Semaphores

Project Review for POSIX Semaphores

1. Quote the requirements from the requirements doc
   that your project is expected to meet.

POSIX Interface Compliance
OSDL CGL shall provide POSIX-compatible interfaces to support direct porting
of common carrier grade applications.  OSDL CGL shall follow the 2001 POSIX
standard where it supersedes the standards cited in the following

Requirement: 1.2.4 POSIX Semaphore Interface Standard Compliant
	Version Assignment:  Core 1.1
Application Type:  G,S,M
Description: 	OSDL CGL shall extend the Linux semaphore support to enable
and fully comply with the following standards:  
·	POSIX, Section 11 - Synchronization (Semaphore)
·	IEEE 1003.1b - 1993, Section 11.1, 11.2 (Semaphore) amendment
·	IEEE 1003.1d - 1999, Section 11.2 (Semaphore) amendment
·	IEEE 1003.1j - 2000, Section 11.1, 11.2 (Semaphore) amendment
·	IEEE 1003.1q - 2000, No amendment
All APIs in sections 11.1 and 11.2 as they apply to semaphore handling shall
b provided. It shall include all required modifications to the internal
kernel message queue handling.

2. Explain how you think the project meets the
   above requirements.

   The posix1b project taken from http://www.garret.ru/~knizhnik/
   provides a user-space library wrapper around the existing Linux
   semaphores to provide the POSIX APIs. Some work may still be
   needed to get it up to the 2001 spec; we are working on completing
   a validation suite to evaluate this. So far all tests have
   succeeded but these may be incomplete.

3. Explain the design of the project or point to
   a document on the web that explains the design.

   The design is a fairly simple translation of POSIX semaphore APIs
   into corresponding Linux semaphore APIs. A user-space static .a
   library is built which must be linked into client applications.

   Currently this implementation contains some extraneous APIs as well
   so these should be removed.

4. Pointer to the code/patch.


cgl_discussion mailing list
cgl_discussion at lists.osdl.org

More information about the cgl_discussion mailing list