Browse Prior Art Database

Guaranteed Control Block Chain Extension

IP.com Disclosure Number: IPCOM000107725D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 98K

Publishing Venue

IBM

Related People

Eijan, UG: AUTHOR [+4]

Abstract

This article describes a technique for use in a computer system which guarantees that control blocks added to a chain are not lost by race conditions between a server and attachment serving control blocks.

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

Guaranteed Control Block Chain Extension

       This article describes a technique for use in a computer
system which guarantees that control blocks added to a chain are not
lost by race conditions between a server and attachment serving
control blocks.

      Many communications attachments use chaining of control blocks
to buffer the activities of the host processor from the attachment
processor.  The host processor is called the host, and the attachment
processor is call the attachment. This chaining allows the host to
build many control blocks at one time and then start the attachment
working on them. The attachment then obtains the control block and
executes the commands specified in the control block.  After
completing a control block, the attachment obtains the next control
block by reading the chain address of the control block.  The
attachment continues obtaining control blocks until there are no more
control blocks chained together. This technique provides the host
with a control block queue. This buffering is useful in realtime
applications where the attachment must have a stream of control
blocks to meet the realtime requirements.  The host is usually busy
with many other processes and cannot always respond immediately to
the completion of each control block.

      These chains of control blocks are usually extended, and the
extension is done by the host filling the last control block with a
pointer to the next control block.  A chaining option bit is then set
in the control block.  There is a possibility that an extension is
made by the host on a control block which has just been completed by
the attachment.  The host makes the extension after the last control
block has been processed.  This results in a lost extension which the
host must re-link to continue the queue of control blocks.

      Conventionally, to handle this situation is to have the host
receive a chain end interrupt on the last control block processed.
At this point, the host must check if the chain end interrupt came
from the last control block at the extended control block queue.  If
not, then the host restarts the queue with the first control block of
the chain extension following the chain end.

      A software mechanism is described herein which will prevent the
extensions from being lost by the race condition between the host and
the attachment.

      The software interface between...