Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Managing Asynchronous Events in Adapter Environment Using Sleep Func Tions

IP.com Disclosure Number: IPCOM000101470D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 3 page(s) / 124K

Publishing Venue

IBM

Related People

Adkins, JT: AUTHOR [+2]

Abstract

A flexible system for allowing port offlevel services to run state machines paced by asynchronous communications network conditions was necessary. Because of the multi-speed and multi-port nature of the adapter, processor overhead reduction was also extremely important.

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

Managing Asynchronous Events in Adapter Environment Using Sleep Func Tions

       A flexible system for allowing port offlevel services to
run state machines paced by asynchronous communications network
conditions was necessary.  Because of the multi-speed and multi-port
nature of the adapter, processor overhead reduction was also
extremely important.

      On the Multiprotocol Quad Port (MPQP) adapter, a
general-purpose base card with its own processor, DMA controllers,
timers and memory is used in conjunction with a daughter card which
contains hardware support defining the electrical interfaces and
number of ports supported.  The scheduler round-robins tasks of
varying priority on multiple ports.

      The software which controls the adapter resources includes
interrupt service routines and a multi-priority offlevel work
processing environment.  Because it is a communications adapter,
there is a large amount of asynchronous activity involved in
communicating with the network.  Tasks are divided in two main types:
interrupt service tasks and offlevel tasks.  Interrupt tasks service
hardware interrupts from the communications chips, timers, DMA
channels, modem interface line change detection logic and the CPU.
Offlevel tasks interpret the modem line sequences to perform call
establishment and termination sequences and execute commands to
transmit and receive data. In several cases, offlevel service for a
particular port needs to be suspended until occurrence of an event.
Possible events include timer expirations, receive data and modem
line changes.

      When a port offlevel service must wait for an event or events,
it must prevent itself from being rescheduled to avoid wasting
processor resources.  Since the MPQP adapter control software
indicates the presence of offlevel work for a port with a single bit
in that level's scheduler mask, port status can only indicate ready
or not ready.

      A mechanism for indicating port work "sleeping" status was
devised which does not interfere with operation of unrelated offlevel
work even on the sleeping port.  An example of the importance of only
suspending the waiting scheduler level can be seen during call
establishment, when receive data, error and line change offlevels
must be allowed to run normally.  It is these other offlevels which,
eventually, generate events to awaken a sleeping work level.

      When an offlevel places itself asleep, all host-bound
communications generated by other offlevels for the port are
redirected to the sleeping task.  When any redirected status becomes
available, the sleeping task is rescheduled and will be dispatched by
the scheduler when its priority level is reached.  Importantly, when
any offlevel requests sleep service, it automatically gets
reprioritized to the lowest (numerically highest) schedulable
priority.  In the implementation, only a single offlevel may utilize
sleep/wakeup services for any port at a given tim...