Browse Prior Art Database

Utilizing the Wait-List Anchor as a Lock

IP.com Disclosure Number: IPCOM000118033D
Original Publication Date: 1996-Aug-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 52K

Publishing Venue

IBM

Related People

Van Fleet, JW: AUTHOR

Abstract

In a symmetric multiprocessing environment, "locks" are used to serialize access to resources. One such resource is an event list anchor and the list associated with the event list anchor. Current methods of serialization utilize a single lock to serialize the event list and, potentially, to serialize other fields not in the event list. The technique described provides a mechanism to serialize the event list anchor and the event list associated with the anchor utilizing the event list anchor itself. There is also discussion relating to alternatives for processing other fields changed while event list processing.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 58% of the total text.

Utilizing the Wait-List Anchor as a Lock

      In a symmetric multiprocessing environment, "locks" are used
to serialize access to resources.   One such resource is an event
list anchor and the list associated with the event list anchor.
Current methods of serialization utilize a single lock to serialize
the event list and, potentially, to serialize other fields not in the
event list.  The technique described provides a mechanism to
serialize the event list anchor and the event list associated with
the anchor utilizing the event list anchor itself.  There is also
discussion relating to alternatives for processing other fields
changed while event  list processing.

      The event-list anchor is a user supplied structure that is
treated by the kernel as an "opaque" object:  that is, after user
initialization, it is no longer directly accessed by the user -- it
is manipulated and viewed only by the kernel.

      With that in mind, the event list anchor itself can be used as
the lock for the event list it represents.  This is accomplished by
using a value, the event list locked unique value, which can not
otherwise be produced while manipulating the event list.  This value
is atomically placed into the event list anchor.  When the processor
which set the event list locked unique value has completed its list
manipulations, it atomically replaces it with a new, appropriate
value in the event list anchor.  The new value could be an indicator
for completion...